在 shell 脚本中使用 makefile 变量

pri*_*tam 4 shell makefile

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

我应该如何访问脚本中的这些变量?我需要 IPC 来传递变量还是有其他方法可以做到这一点?

Jen*_*ens 5

如果make导出变量,您可以立即使用它们(但请注意,对 shell 变量的更改不会更改make变量)。如果您使用 GNU make,则可以使用该export指令。

如果make不导出变量,则可以使用 shell 的一次性赋值,例如

UNEXPORTED_VAR = foo
all:
     UNEXPORTED_VAR='$(UNEXPORTED_VAR)' OTHERVAR='$(OTHERVAR)' script.sh
Run Code Online (Sandbox Code Playgroud)