在Shell脚本中使用Makefile变量

6

我有一个Makefile文件,其中定义了所有的环境变量(在顶级目录),我想在最内层的shell脚本中使用其中一些变量。

我应该如何在脚本中访问这些变量?我需要使用IPC来传递变量,还是有其他方法可以做到相同的效果?

2个回答

6
如果make导出变量,您可以立即使用它们(但请注意,对shell变量的更改不会更改make变量)。如果您使用GNU make,则可以使用export指令。
如果make未导出变量,则可以使用shell的一次性赋值,例如:
UNEXPORTED_VAR = foo
all:
     UNEXPORTED_VAR='$(UNEXPORTED_VAR)' OTHERVAR='$(OTHERVAR)' script.sh

1

像Jens所说的一样是正确的,可以使用export make变量。但他的解决方案对我不起作用。 所以你也可以在makefile中直接导出它们:

export UNEXPORTED_VAR

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接