当sh.exe不在路径上时,我有一个适用于Windows系统的makefile。但是当sh.exe在Windows路径上时,它会因错误而停止。显然,sh.exe无法处理混合/和\的路径,例如:
cc $CFLAGS) C:\a\b/c/d/myfile.c
它会生成以下错误
Fatal error: could not open source file "c:ab/c/d/myfile.c"
由于我无法更改makefile(它是由某些应用程序自动生成的),如何强制gmake不使用sh.exe或强制sh.exe接受此类文件?
答案 0 :(得分:2)
试试gmake SHELL="cmd"
。有关详细信息,请参阅GNU make docs。特别要注意这个花絮:
请注意,对shell的扩展搜索仅限于这些情况 其中SHELL是从Makefile设置的;如果它是在环境中设置的 或命令行,您应该将其设置为完整路径名 shell,就像在Unix上一样。