在一个 makefile 文件中,我有以下内容:
这是在MS Windows上的情况。现状是
然而,可以设置一个系统级环境变量,而不是
如果我使用除
我在这里漏掉了什么?我需要做什么才能让具有自定义用户名(即不是
SHELL = $(SOME_DIRECTORY)/sh
showme:
echo $(SHELL)
这是在MS Windows上的情况。现状是
make
在PATH
中(或直接被调用),但是一个可接受的shell(即sh.exe
)不在PATH
中。全局修改PATH
变量以包含sh.exe
不是一个选项(Cygwin、msysgit等之间存在潜在冲突)。因此,make
默认使用Windows的命令处理器cmd.exe
,这几乎不理想。然而,可以设置一个系统级环境变量,而不是
PATH
。所以我有个聪明的想法,将包含sh.exe
的目录路径放入SOME_DIRECTORY
中,然后在makefile中使用它作为SHELL
变量。但由于某种令人沮丧的原因,它并没有起作用。make
echo sh.exe
sh.exe
如果我使用除
SHELL
以外的任何变量并将其 echo,那么它会打印出预期的结果。但是这当然不能达到改变 shell 的预期效果。我在这里漏掉了什么?我需要做什么才能让具有自定义用户名(即不是
SHELL
、PATH
等)的环境变量影响 make 使用的 shell 呢?