makefile-.PHONY作用
先看makefile核心规则
1 | target: prerequisites |
make解析执行makefile判断过程:
- 若
target不存在,则根据prerequisites,执行commond - 若
target已存在,则比较target和prerequisites修改时间- 若
prerequisites不存在,则不执行commond! - 若
prerequisites比target新,则执行commond(说明在生成target后,对依赖文件进行了修改) - 若
prerequisites没有target新,则不执行commond
- 若
为什么需要伪目标
- 假设当前目录下已有
clean文件,则根据make解析过程,不会执行后续commond
什么是伪目标(.PHONY)
伪目标相对于目标而言,其不会生成实体文件
伪目标的作用
显式告诉make不要跟实体文件进行关联判断,以便执行相应的命令