文章目录
- 格式
- 自动检查更新
- 效率
- 变量
- 模式匹配
- 函数
- clean
格式
目标:依赖
tab 命令
自动检查更新
当有文件发生修改后,重新make
会自动对发生修改的依赖进行编译
效率
由于在 make
时会进行检查更新,对于有修改的依赖会重新编译,为了尽可能的只对修改过的依赖进行编译,对没有修改的依赖不进行编译,则尽可能的对依赖文件进行分开编写。
如下图所示:
变量
Makefile中没有变量类型,都是字符类型的。
模式匹配
通过模式匹配,对代码进行简写优化,在执行第一条指令的时候,会自动查找依赖,找不到就会向下寻找,先执行有关所需依赖的指令。
优化前:
优化后:
函数
对上边代码进一步优化:
clean
.PHONY:
表示生成一个伪目标,这样在执行make clean
的时候就不会受clean文件影响
rm $(objs) -f
表示要删除$(objs)
,也就是之前写的所有 .o
文件