将变量传达给子 make

make通过明确的请求可以将顶层 make 的变量值传递给子 make 的环境。这些变量在子 make 中被定义为默认值。你不能重写被子 make 的 Makefile 所使用的变量(除非你执行的时候使用-e 开关)。

为了传递或导出变量,make会将该变量和它的值添加到每个运行命令的环境中。而子 make 会顺序的根据环境来初始化它的变量表。

特殊变量 SHELL 和 MAKEFLAGS 总是被导出(除非你明确的阻止)。只要设置了 MAKEFILES 的内容,它就会被导出。

如果您想要将指定变量导出到子 make 中,请使用 export 指令,如图所示 -

  1. export variable ...

如果您想阻止变量被导出,请使用 unexport 指令,如图所示 -

  1. unexport variable ...