主页

索引

模块索引

搜索页面

include相关

include 用法:

include <filename>

示例:
include scripts/make-rules/common.mk
include scripts/make-rules/golang.mk

按下面的顺序查找 makefile 文件:

1. 如果是绝对或相对路径
    就直接根据路径 include 进来
2. 如果 make 执行时,有 -I 或 --include-dir 参数
    那么 make 就会在这个参数所指定的目录下去找
3. 如果目录 <prefix>/include存在的话
    依此搜索以下几个目录:
    /usr/gnu/include
    /usr/local/include
    /usr/include

当在这些目录下都没有找到“include”指定的文件,且后续没有规则创建,会输出类似如下错误提示:

Makefile:错误的行数:未找到文件名:提示信息(No such file or directory)
Make: *** No rule to make target ‘<filename>’. Stop

可使用“-include”来代替“include”,来忽略由于包含文件不存在或者无法创建时的错误提示:

“-”的意思是告诉make,忽略此操作的错误。make继续执行
如:
-include FILENAMES...
使用这种方式时,当所要包含的文件不存在时不会有错误提示、make也不会退出

区别:

include : 如果程序找不到include的文件,make就会停止
-include: 找不到你所包含的文件时不停止执行,忽略该错误
sinclude: 为了和其它的make程序进行兼容。也可以使用“sinclude”来代替“-include”(GNU所支持的方式)

主页

索引

模块索引

搜索页面