变量
定义变量后使用 $(变量名) 使用变量
SRC = xx1.o xx2.0
export ex_var=true # export 修饰的参数可传递, unexport 不可传递
mim:$(SRC)
gcc -o $@ $^
特殊变量
- $@,表示规则中的目标。
- $<,表示规则中的第一个依赖文件。
- $?,表示规则中所有比目标新的条件,组成一个列表,以空格分隔。
- $^,表示规则中的所有条件,组成一个列表,以空格分隔。
运算符
- = 赋值, 如果使用变量来赋值, 则跟踪这个值的改变
- := 赋值, 如果使用变量来赋值, 则使用当前时间点变量的值, 不跟踪变量的改变
- ?= 赋值, 如果被赋值变量之前没有声明过, 则 ?= 等效于 =, 反之什么也不做
- += 赋值, 叠加在被赋值变量后面, 使用变量赋值, 追踪改变