文章目录
1. make 的隐式规则
深入理解隐式规则:
- 当make 发现目标的依赖不存在时,尝试通过依赖名逐一查找隐式规则,并且通过依赖名推导可能需要的源文件
隐式规则的副作用:
- 编译行为难以控制:大量使用隐式规则可能产生意想不到的编译行为
- 编译效率低下:make 从隐式规则和自定义规则中选择最终使用的规则
隐式规则链:
-
当依赖的目标不存在时,make 会极力组合各种隐式罪责对目标进行创建,进而产生意料之外的编译行为
需要 N.o 的目标文件:N.y => N.c => N.o
查看隐式规则:
- 查看所有: make -p
- 查看具体规则 : make -p | grep " xxx "
隐式规则的禁用:
- 局部禁用:在makefile中自定义规则
- 全局禁用:编译时加上
-r
选项,make -r