Это, кажется, не возможно к системным командам окон вызова (например, del, переместитесь, и т.д.), использование GNU Делает. Я пытаюсь создать make-файл, который не полагается на пользователя, имеющего дополнительные инструменты (например. rm.exe
от Cygwin) установленный.
Когда следующее правило выполняется, об ошибке сообщают del: command not found
:
clean:
del *.o
Это, по-видимому, потому что существует не такое execuatable как "del". Я также попытался выполнить его как опцию к cmd
но с этим только, кажется, открывает новую подсказку:
clean:
cmd /C del *.o
Я использую Windows XP (5.1.2600) с GNU, Делают 3.79.1, который связывается как часть MSys.
Похоже, что переключатель / C
необходимо экранировать, потому что /
интерпретируется как путь в GNU Make. Следующее работает должным образом:
clean:
cmd //C del *.o
del
- встроенная команда cmd.exe
(а также ранее command.com
). Ваша команда cmd / C del * .o
должна работать, если она запускает новую командную строку, я подозреваю, что cmd может быть оболочкой. Вы пытались вызвать cmd с его полным путем (например, c: /WINDOWS/system32/cmd.exe)?