在tcsh中使用makefile变量

时间:2013-04-16 07:38:01

标签: makefile tcsh

我创建了一个tcsh脚本,我想通过Makefile环境调用它。因此 我想引用这个tcsh脚本中的变量,我在Makefile环境中定义了这个变量。 我尝试将环境变量引用为$?VARIABLE,但这不适用于Makefile环境中的变量。 我怎么能这样做?

2 个答案:

答案 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