0

在我最近不得不查看的 Makefile 中,它包括这个include $(MAKERULES)

现在对我来说,我会想到它拥有的makefile顶部的某个地方,MAKERULES = xyz但它没有。所以我打印出 MAKERULES

test:

    @echo "Rules: $(MAKERULES)"

然后我做测试。它运行并打印出另一个 Makefile Location,Makefile2。

X/Y/Z/Makefile2 路径。我进入这个 Makefile 并尝试写出一些 echo 语句,以便我可以看到正在打印的内容,但没有打印出来。

是否可以从我的本地 Makefile (Makefile) 引用的另一个 Makefile (Makefile2) 中打印出变量?

4

1 回答 1

2

对的,这是可能的。您没有向我们展示您显示这些变量的尝试,因此我们无法告诉您为什么它不起作用。(好吧,不能。)

这是我的做法:

$(info the variable FOO contains $(FOO))

如果要对多个变量执行此操作:

$(foreach X, FOO BAR BAZ, $(info $(X) is $($(X))))

所有当前定义的全局变量的列表是.VARIABLES,因此您可以使用“$(.VARIABLES)”代替“FOO BAR BAZ”来打印所有变量。

于 2018-08-09T00:58:24.710 回答