Makefile中包含其他Makefile文件
语法形式:
include FILENAMES...
include告诉make暂停读取当前的Makefile规则,前去读取其他Makefile文件(一个或者多个)中的规则,执行完成后再回来读取当前Makefile文件中的规则
注:include所在行不能以[tab]开头,否则,make将会认为这是一条命令,交由系统shell去判决执行这条命令。
通常指示符“include”用在以下场合:
有多个不同的程序,由不同目录下的几个独立的Makefile来描述其重建规则。它们需要使用一组通用的变量定义或者模式规则。通用的做法是将这些共同使用的变量或者模式规则定义在一个文件中(没有具体的文件命名限制),在需要使用的Makefile中使用指示符“include”来包含此文件。
当根据源文件自动产生依赖文件时;我们可以将自动产生的依赖关系保存在另外一个文件中,主Makefile使用指示符“include”包含这些文件。这样的做法比直接在主Makefile中追加依赖文件的方法要明智的多。
同样,我们也可以在include前面加一个“-”,此时当所要包含的文件不存在时不会有错误提示,make也不会退出,只有真正由于不能正确完成终极目标的重建时(某些必需的目标无法在当前已读取的 makefile 文件内容中找到正确的重建规则),才会提示致命错误并退出。
为了和其它的 make 程序进行兼容。也可以使用“sinclude”来代替“-include”(GNU 所支持的方式)。