gnu-make - 读取makefile中的环境变量值

标签 gnu-make makefile

如果我尝试从 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/

相关文章:

sqlite - 一个棘手的 GNU make 问题

c++ - 你如何为 clang 和 gcc 编写一个 makefile?

c++ - Makefile 变量问题,make 想要创建 "*.o"而不是 foo.o bar.o 等

build - gnu Make,如何强制假目标运行多次?

c - Eclipse使用make命令生成二进制文件

c++ - 使用 GNU make 创建多个预编译头文件

makefile可以用来插入代码吗?

c - Make 忽略隐式规则依赖

c - 从应用程序 makefile 运行库 makefile

linux - 抄送: unrecognized option '-KPIC'