模式变量
在GNU的make中,还支持模式变量(Pattern-specific Variable),通过上面的目标变量中,我们知道,变量可以定义在某个目标上。模式变量的好处就是,我们可以给定一种“模式”,可以把变量定义在符合这种模式的所有目标上。
我们知道,make的“模式”一般是至少含有一个 %
的,所以,我们可以以如下方式给所有以 .o
结尾的目标定义目标变量:
- %.o : CFLAGS = -O
同样,模式变量的语法和“目标变量”一样:
- <pattern ...>; : <variable-assignment>;
- <pattern ...>; : override <variable-assignment>;
override同样是针对于系统环境传入的变量,或是make命令行指定的变量。