3.3 Makefile的嵌套包含
一、Makefile包含子Makefile的示例
下面是一个示例Makefile和sub.mk的内容。
首先是sub.mk文件的内容:
VAR := Hello from sub.mksay_hello:@echo $(VAR)
然后是Makefile文件的内容:
include sub.mkall: say_hellosay_hello:@echo "Hello from Makefile"
在这个例子中,我们使用了include指令将sub.mk文件包含到Makefile中。sub.mk定义了一个变量VAR,并具有一个名为say_hello的目标,该目标会输出VAR的值。
Makefile中的all
目标依赖于say_hello
目标,并且在执行时会输出"Hello from Makefile"。
当我们运行make
命令时,它会读取Makefile并暂停读取,然后读取sub.mk文件的内容。完成后,它会继续读取Makefile,找到all
目标并执行相应的命令。
当我们在命令行中运行make
时,输出将如下所示:
Hello from sub.mk
Hello from Makefile
这证明了include指令成功地将sub.mk文件包含到了Makefile中,并且能够正确地使用其中定义的变量和规则