使用make脚本创建环境变量

时间:2012-02-29 16:50:40

标签: shell unix makefile

(与Shell script to export environment variables in make相关)

我想使用shell脚本创建一些可以在以后使用的变量。我以为我可以直接找到脚本:

target:
  . myscript
  echo ${FOO}   # FOO is exported in myscript

但这似乎不起作用。有没有办法做到这一点?

3 个答案:

答案 0 :(得分:1)

如何使用include directive代替。将变量defs放在单独的makefile而不是shell脚本中。

答案 1 :(得分:0)

这会有效,但不是你的方式。 make为每一行调用一个新的shell,所以在你给出的例子中,echo $ {FOO}是一个新的shell。你可以这样做:

target:
  . myscript; \
  echo $${FOO}

请注意,在{FOO}

上需要两个'$'符号

答案 2 :(得分:0)

使用include directive设置target-specific variable可能是最接近您要求的内容。