文章目录
make 命令格式
make [options] [targert1 target2 …]
选项有:
- -d 输出debug信息
- -p打印makefile所有规则,包括系统内置变量和潜规则
- -k最大可能地去更新目标,这样在遇到第一个错误后继续往后执行
- -n 打印需要更新目标对应的action,不执行
实目标与虚拟目标
- 一般情况下,规则中的目标名要与生成的文件名对应,成为实目标
- 有些目标名并不生成任何虚拟文件,称为虚拟目标(Phony Targets), 这个时候只要执行命令,规则一定执行,因为虚拟目标没有更新日期。
如果碰巧当前目录下存在一个文件名与虚拟目标对应,使虚拟目标成为实目标。为了避免出现这种情况,使用语句:
.PHONY:targetName
规则
- 一般规则(显规则Explicit Rules)
target:components
rule
第一行表示的是依赖关系,第二行是规则,特别要注意,rule这行必须是TAB键开头。
- 更新规则:对于实目标,比较依赖文件和目标文件的更新时间,如果前者更新,则需要