Я пытаюсь выяснить, почему простая команда Windows в make-файле дает сбой, только когда двоичная папка CygWin включена в переменную PATH.
Чтобы вывести большинство переменных из уравнения, я использую базовый make-файл ниже:
clean:
del /F /Q file.txt
Я использую GNU make 3.81 из каталога, который содержит только make.exe и makefile.
C:\temp\test>dir /b
make.exe
makefile
C:\temp\test>make -v
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for Windows32
Когда PATH включает двоичную папку Cygwin, я получаю ошибку ProcessCreate().
C:\temp\test>path=c:\tools\cygwin\bin
C:\temp\test>make clean
del /F /Q file.txt
process_begin: CreateProcess(NULL, del /F /Q file.txt, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [clean] Error 2
Работает как положено, иначе.
C:\temp\test>set path=
C:\temp\test>make clean
del /F /Q file.txt
Could Not Find C:\temp\test\file.txt
Это не имеет смысла для меня.
Есть идеи, что здесь может происходить?