|
Makefile 使用 include 关键字可以把别的 Makefile 包含进来。include 的使用方法是:make 命令执行时,它会找到所有 include 所指定的文件,并将它们的内容放置在当前的位置,这和 C 中的 #include 一样。如果 include 后只跟着一个文件名,那么 make 就会在当前的目录下查找,如果找不到,那么它会接着检查 make 命令执行时是否有 "-I" 或 "--include-dir" 参数。如果有指定该参数,那么 make 会按照参数指定的路径去查找相应文件。假如还没找到,那 make 会发出一个警告信息,但不会马上出现致命错误,它接下来还会继续载入其它文件。当 makefile 读取完成,make 会重试这些没有找到,或是不能读取的文件,如果这时候还是不行而且这个文件对 make 的最后成功是不可或缺的,那么 make 就会发出一条致命信息。
如果希望 make 不理会那些不存在或无法读取的文件,而继续执行,那么可以在 include 前加一个减号 "-",如:举例:
现有 1 Makefile 文件如下:include include/version.mk
include include/subinclude/sublevel.mk
include include/patchinclude/patchlevel.mk
OBJTREE := $(VERSION).$(SUBLEVEL).$(PATCHLEVEL)
all:
@echo "$(OBJTREE)" 在上面的几个 mk 文件中分别定义了变量 VERSION = 1, SUBLEVEL = 2, PATCHLEVEL = 6 。
运行 make 输出:试着将 version.mk 这个文件的可读权限去掉后再 make 一次:$ chmod u-r include/version.mk
$ make
Makefile:1: include/version.mk: 权限不够
.2.6 试着在 nclude include/version.mk 前加一 "-" 号:没有再输出“权限不够”的警告信息。 |
|