makefile rule
|
|
target
: 生成目标,可执行文件或者中间object文件prerequisites
: 生成target所需的文件,作为recipe的输入recipe
: make需要执行的具体命令
Note: 每隔recipe前面需要有个tab。
换行使用\
进行。
|
|
只有recipe,不依赖文件的target,称为phony targets
, 如clean:
|
|
make执行流程
make读取当前目录下的makefile,从第一个rule开始执行,如果这个rule依赖其它文件,则make需要先执行依赖文件的rule。
使用变量
使用变量可以简化makefile的书写。
|
|
可以使用变量把object文件包含:
|
|
make自动推导规则
make具有隐藏推导规则的功能,可以省略依赖的.c
文件和recipe规则。
|
|
清理目录的规则
|
|
这样规避了如果有clean文件生成的规则。
clean不能放在最前面,会被当成default rule执行。
make寻找makefile文件顺序
GNUmakefile, makefile and Makefile
建议使用Makefile
,如果想用其它名字的文件,可以make -f
指定文件名。