1. makefile元素含义
target:
- 通常是需要生成的目标文件名
- make所需要执行的命令名称
prerequisities:
- 当前目标所依赖的其他目标或文件
command:
- 完成目标所需要执行的命令
注意
targets可以包含多个目标:使用空格对多个目标名进行分隔
prerequisites可以包含多个依赖:使用空格堆多个依赖进行分隔
2. 规则中的注意事项
[Tab]:‘\t’
每一个命令行必须以[Tab]字符开始
[Tab]字符告诉make此行是一个命令行
续行符:\
可以将内容分开写到下一行,提高可读性
3. makefile的依赖示例
all : test
(tab)echo “make all”
test:
(tab)echo “make test”
依赖规则
- 当目标对应的文件不存在,执行对应命令
- 当依赖在时间上比目标更新,执行对应目标
- 当依赖关系连续发生时,对比依赖链上的每一个目标
小技巧
makefile中可以在命令前加上@符,作为命令无回显
输出:
4. 第一个编译案例
在终端测试:
注:之前make过,报过警告,所以这里有文件没有再次编译
4.1 小技巧
我们不做修改,再次make时,它还是会:
我们可以做出这样子的修改:
这样,再次make时:
那我们执意要执行时,可以在终端执行这样子的命令: