我创建了一个tcsh
脚本,我想通过Makefile
环境调用它。因此
我想引用这个tcsh脚本中的变量,我在Makefile
环境中定义了这个变量。
我尝试将环境变量引用为$?VARIABLE
,但这不适用于Makefile
环境中的变量。
我怎么能这样做?
答案 0 :(得分:1)
如果要在命令中使用任何美元符号,则需要在make规则中将其表示为$$
。请注意it is extremely unwise to program in tcsh。另外,make使用/bin/sh
来执行命令,因此你不能在make规则中使用tcsh语法。
如果必须的话,你所能做的就是
MAKEVAR = foo
target:
tcsh -c 'echo $$HOME $(MAKEVAR)'
其他人做的是
MAKEVAR = foo
ANOTHERVAR = bar
target:
MAKEVAR=$(MAKEVAR) ANOTHERVAR=$(ANOTHERVAR) script.sh
这适用于所有make
版本,而不仅仅是GNU make。
答案 1 :(得分:0)
如果你正在使用GNU make,you need to export
the variables。