1.makefile文件的组成内容
makefile主要由一下5部分组成:bash
- 显示规则:显示规则说明了生成一个或多个目标文件的方法和步骤。这是在编写makefile文件时明显指出的,包括要生成的文件、生成文件的依赖文件及生成的命令等。
- 隐式规则:因为make工具备自动推导的功能,因此在编写makefile文件的时候能够利用该规则,简略的书写makefile,再由makefile工具自己自动推导须要使用的规则。
- 变量的定义:make工具支持变量的定义,这些变量每每都是字符串,所以makefile中的变量更像是C语言中的宏。当makefile被执行时,其中的变量都会被展开到相应的位置上。
- 文件指示:其中包括3部分,一部分是在一个makefile中引导另一个makefile,就像C语言中的include同样。另外一部分是根据某些状况指定makefile中的有效部分,就像C语言中的预编译#if同样。还有一部分就是定义一个多行的命令。
- 注释:makefile中支持行注释,用“#”字符。若是须要#字符,要使用“\”对其进行转义。
2.makefile文件包含
makefile文件的文件名最好命名为makefile或者Makefile。由于在默认的状况下,make命令会在当前目录下按循序寻找这两个文件进行解释。工具
用户也能够为makefile文件自定义文件名,若是使用了自定义的makefile,在执行make时就要添加特定的参数:-f或-file,以下:spa
make -f makefile.make
在makefile中使用include关键字能够把其余的makefile包含进来:code
include <文件名>
#例如:
include /home/admin/make.mk
#该语句表示当前makefile文件包含/home/admin目录下的make.mk文件
3.make工具的退出码
makefile文件执行后有一个退出码,该退出码有如下三种状况。字符串
- 0:表示makefile文件执行成功
- 1:表示makefile文件执行时出现了错误
- 2:若是用户使用了make的-q选项,而且make使一些目标不须要更新,则返回2