我有一个像这样的Makefile:
setup:
setenv var1 "$(var1)"; \
setenv var2 "$(var2)";
task1: setup
source task1.csh
task2: setup
source task2.csh
我使用以下命令调用makefile:
make var1=value1 var2=value2 task1
我希望环境变量var1
和var2
在task1.csh
和task2.csh
中都可见,但是除非我更改Makefile为:
task1:
setenv var1 "$(var1)"; \
setenv var2 "$(var2)"; \
source task1.csh
task2:
setenv var1 "$(var1)"; \
setenv var2 "$(var2)"; \
source task2.csh
为什么第一种方法不起作用,我该如何修复它?