%.o:%.c
$(CC)$(CFLAGES) -c $<
%.o:%.s
$(CC)$(ASFLAGES) -o $@ $<
解释:make程序会遍历一连串的依赖关系,这是为了决定从何处开始建议(重建)。如果没有找到目标文件,make程序就按照优先顺序查找文件。
为了生成目标文件,它会首先查找带.c、.f或,s后缀的文件,如果没有,它会继续寻找带.c`后缀的文件(SCCS文件)并继续搜索,直到找到源文件。
如果没有找到一个源文件,make程序会报告一个异常。
$@代表当前目标的名称,$<代表当前依赖关系。
CC ASFLAGES CFLAGES都是变量
1、make对简单变量的支持
语法1:
变量:=[文本]
语法2:
变量:=[文本1]
变量+= [文本2]
等价于:变量:=[文本1] [文本2]
显示语法 $(变量) 或者 ${变量}
2、内建变量
$@ 当前目标的名称
$< 当前依赖关系
$? 比当前目标新的已修改的依赖性关系
$^ 用空格分开的所有依赖性列表