我正在Windows上使用MinGW来编译一些东西。我直接从
有没有办法强制msys环境调用系统的
或者更好的办法是,有没有办法区分makefile是从
非常感谢任何帮助。
谢谢
编辑:让事情变得更加困难的是:
编辑:好吧,如果有人仍然感兴趣,我最终得到了以下文件,我将它包含在其他Makefiles中:
如果没有的话,而你仍然认为这是一个重复的问题,我当然可以删除这个问题。
由于我不知道原因,ComSpec和COMPSPEC有所不同。
cmd.exe
调用mingw32-make
,一切(我需要的)都很好。然而,我发现我需要能够从MSYS环境进行编译,并且我在使用copy
和del
命令时出现了问题,它们不能被识别。我知道只需要用cp
和rm
替换它们就可以了,但我想在同一个makefile中使用它们。有没有办法强制msys环境调用系统的
del
和cp
命令?或者更好的办法是,有没有办法区分makefile是从
cmd.exe
还是msys中调用?那么我就可以为命令设置适当的变量了。这将非常有帮助,因为我可以删除一些其他重复的makefiles。非常感谢任何帮助。
谢谢
编辑:让事情变得更加困难的是:
mingw32-make
似乎在从cmd.exe
运行时使用sh.exe
,如果在PATH中找到的话。这有完全不同的环境变量集。编辑:好吧,如果有人仍然感兴趣,我最终得到了以下文件,我将它包含在其他Makefiles中:
ifeq ($(OS),Windows_NT)
RM = del /Q /F
CP = copy /Y
ifdef ComSpec
SHELL := $(ComSpec)
endif
ifdef COMSPEC
SHELL := $(COMSPEC)
endif
else
RM = rm -rf
CP = cp -f
endif
如果没有的话,而你仍然认为这是一个重复的问题,我当然可以删除这个问题。
由于我不知道原因,ComSpec和COMPSPEC有所不同。
CP
和RM
变量,以执行正确的操作。 - Some programmer dude