读完这个答案后:enter link description here,使用
$(info text…)
$(info $(var))
我在makefile中尝试过:
.PHONY: all
all: ; $(info $(var))
(在bash中,var
被设置在外部),我得到了输出:
make:没有什么可以为“all”做的。那么如何在makefile中打印在makefile外部定义的变量呢?
发布于 2020-10-30 17:06:39
如何打印makefile中的环境变量?
你可以完全按照你在问题中说的做。例如:
这是Makefile:
.PHONY: all
all: ; $(info VAR='$(VAR)')
现在,在运行make之前,在命令行上设置环境变量VAR:
$ VAR=foo make
VAR='foo'
make: Nothing to be done for 'all'.
或者导出它,然后运行make:
$ export VAR=bar
$ make
VAR='bar'
make: Nothing to be done for 'all'.
因此,你需要寻找其他地方,找出为什么这对你不起作用。
请注意,您不需要将$(info)
放入配方中;例如,下面是打印环境变量的一行makefile:
Makefile:
$(info VAR='$(VAR)')
设置环境变量VAR并运行make:
$ VAR=foo make
VAR='foo'
make: *** No targets. Stop.
https://stackoverflow.com/questions/64363030
复制相似问题