在 makefile
中引用其他 makefile
在 makefile
中可以使用 include
来引用其他 makefile
include <filename>
filename
可以是当前操作系统 shell
的文件模式(可以包含路径和通配符)
在 include
前面可以有一些空字符,但是绝不能是 Tab
键开始。 include
和 <filename>
可以用一个或多个空格隔开。举个例子,你有这样几个 Makefile
: a.mk
、 b.mk
、 c.mk
,还有一个文件叫 foo.make
,以及一个变量 $(bar)
,其包含了 e.mk
和 f.mk
,那么,下面的语句:
include foo.make *.mk $(bar)
等价于
include foo.make a.mk b.mk c.mk e.mk f.mk
如果有文件没有找到的话, make
会生成一条警告信息,但不会马上出现致命错误。它会继续载入其它的文件,一旦完成 makefile
的读取, make
会再重试这些没有找到,或是不能读取的文件,如果还是不行, make
才会出现一条致命信息。如果你想让 make
不理那些无法读取的文件,而继续执行,你可以在 include
前加一个减号 -
。如:
-include <filename>
其表示,无论 include
过程中出现什么错误,都不要报错继续执行。和其它版本 make
兼容的相关命令是 sinclude
,其作用和这一个是一样的。