1个规则
目标:依赖条件
(一个tab缩进)命令
①目标的时间必须晚于依赖条件的时间,否则更新目标
②依赖条件如果不存在,找寻新的规则去产生依赖
2个函数
src = $(wildcard *.c) 找到当前目录下所有后缀位为.c的文件,赋值给.src
obj= $(patsubst %.c,%.o,$(src)) 把src变量里所有后缀为.c的文件替换成.o
clean:(没有依赖)
-rm -rf $(obj) a.out “-”的作用是,删除不存在文件时,不报错
3个自动变量
$@:表示规则中的目标
$<:表示规则中的第一个条件
$^:表示规则中的所有条件,组成一个列表,由空格隔开,如果这个列表中有重复项则消除重复项
模式规则
伪目标
.PHONY: clean ALL
