在makefile中寻找将变量从一个级别传递到下一个级别的帮助。我有一个需要构建以在各种目标架构上运行的源代码树。为了保持更高级别的 makefile 干净,我创建了单独的 makefile,其中包含特定于体系结构的信息,并且仅包含使用 include 指令所需的那个:)
稍后在 makefile 中,我转移到另一个目录来构建源文件。构建失败,我看到失败是由未传递特定于体系结构的变量引起的。
ifeq ($(ARCH), my_arch) |
include build/my_archdefs.mk | section 1
endif |
<more commands>
debug:
$(MAKE) -C src debug
用于构建代码树的 makefile 位于 src 目录中。作为权宜之计,我在较低级别的 makefile 中包含了上面引用的第 1 节,在这种情况下,我注意到变量 ARCH 没有被传递下去。
这是我发现的几个链接,它们似乎相关,但我无法弄清楚我需要做什么才能完成这项工作。 http://www.gnu.org/software/make/manual/html_node/Options_002fRecursion.html#Options_002fRecursion http://www.gnu.org/software/make/manual/html_node/Include.html
在我看来,我需要的信息隐藏在我上面引用的链接中,但我只是没有看到它。任何指针将不胜感激。
谢谢。