Answers:
如果已导出环境变量:
export demoPath=/usr/local/demo
您可以在makefile
(make
导入您设置的所有环境变量)中按名称简单地引用它:
DEMOPATH = ${demoPath} # Or $(demoPath) if you prefer.
如果尚未导出环境变量,则除非您导出了环境变量,否则除非在命令行中明确传递它,否则无法访问它:
make DEMOPATH="${demoPath}" …
如果使用的是C Shell派生,请替换setenv demoPath /usr/local/demo
该export
命令。
demoPath=/usr/local/demo make
。您可能想对其进行测试,并可能更新您的答案。干杯!
对于那些想要一些官方文件来确认行为的人
make中的变量可以来自运行make的环境。make看到的每个环境变量在启动时都会转换为具有相同名称和值的make变量。但是,makefile中的显式分配或使用命令参数会覆盖环境。(如果指定了“ -e”标志,则来自环境的值将覆盖makefile中的分配。
https://www.gnu.org/software/make/manual/html_node/Environment.html