如果我尝试从 makefile 中访问某些环境变量,则不会显示它们。我的应用程序创建一个环境变量 MACHTYPE,其值为“DELLMACHINE”。 我想在 make 文件中使用 echo 命令打印这个值。这是代码
@echo $(MACHTYPE)
执行上述命令后,将显示空字符串。
有趣的是,其他环境变量(例如 PATH)工作正常,但 MACHTYPE 显示为空字符串。有谁知道为什么会发生这种情况?
最佳答案
这是因为您尚未从 shell 导出该变量。普通 shell 变量仅对该 shell 有效,不会传递给 shell 启动的任何程序(如 make)。
如果您希望将变量添加到环境中并传递给程序,则必须导出
它;在您的 shell 中运行它或将其添加到您的 shell 初始化文件中:
export MACHTYPE=DELLMACHINE
或者,如果您愿意,也可以分两步完成:
MACHTYPE=DELLMACHINE
export MACHTYPE
然后,运行make
,您将看到设置。
关于gnu-make - 读取makefile中的环境变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28192486/