1

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

4

2 回答 2

1

$$如果要在命令中使用,任何美元符号都需要在 make 规则中表示为 a 。请注意,在 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。

于 2013-04-16T07:57:37.623 回答
0

如果你使用 GNU make,你需要export变量.

于 2013-04-16T08:01:28.680 回答