0%

引用其它的 Makefile

makefile 中引用其他 makefile

跟我一起写 Makefile

makefile 中可以使用 include 来引用其他 makefile

include <filename>

filename 可以是当前操作系统 shell 的文件模式(可以包含路径和通配符)

include 前面可以有一些空字符,但是绝不能是 Tab 键开始。 include<filename> 可以用一个或多个空格隔开。举个例子,你有这样几个 Makefilea.mkb.mkc.mk,还有一个文件叫 foo.make,以及一个变量 $(bar),其包含了 e.mkf.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,其作用和这一个是一样的。