在多个 Makefile 中包含 Makefile 和 Echo 变量
Include Makefile and Echo Variables Inside Multiple Makefiles
在我最近不得不看的 Makefile 中,它包括这个 include $(MAKERULES)
现在对我来说,我会认为在 makefile 顶部的某处它有 MAKERULES = xyz
但它没有。所以我打印出 MAKERULES
test:
@echo "Rules: $(MAKERULES)"
然后我做测试。它运行并打印出另一个 Makefile 位置,Makefile2。
X/Y/Z/Makefile2 路径。我进入这个 Makefile 并尝试写出一些 echo 语句,以便我可以看到正在打印的内容,但没有打印出来。
是否可以从我的本地生成文件 (Makefile) 引用的另一个生成文件 (Makefile2) 打印出变量?
是的,这是可能的。您没有向我们展示您尝试显示这些变量的尝试,因此我们无法告诉您为什么它不起作用。 (好吧,我不能。)
这是我的做法:
$(info the variable FOO contains $(FOO))
如果您想对多个变量执行此操作:
$(foreach X, FOO BAR BAZ, $(info $(X) is $($(X))))
并且所有当前定义的全局变量的列表是.VARIABLES
,因此您可以使用“$(.VARIABLES)”代替"FOO BAR BAZ"来打印所有这些。
在我最近不得不看的 Makefile 中,它包括这个 include $(MAKERULES)
现在对我来说,我会认为在 makefile 顶部的某处它有 MAKERULES = xyz
但它没有。所以我打印出 MAKERULES
test:
@echo "Rules: $(MAKERULES)"
然后我做测试。它运行并打印出另一个 Makefile 位置,Makefile2。
X/Y/Z/Makefile2 路径。我进入这个 Makefile 并尝试写出一些 echo 语句,以便我可以看到正在打印的内容,但没有打印出来。
是否可以从我的本地生成文件 (Makefile) 引用的另一个生成文件 (Makefile2) 打印出变量?
是的,这是可能的。您没有向我们展示您尝试显示这些变量的尝试,因此我们无法告诉您为什么它不起作用。 (好吧,我不能。)
这是我的做法:
$(info the variable FOO contains $(FOO))
如果您想对多个变量执行此操作:
$(foreach X, FOO BAR BAZ, $(info $(X) is $($(X))))
并且所有当前定义的全局变量的列表是.VARIABLES
,因此您可以使用“$(.VARIABLES)”代替"FOO BAR BAZ"来打印所有这些。