模式变量

在GNU的make中,还支持模式变量(Pattern-specific Variable),通过上面的目标变量中,我们知道,变量可以定义在某个目标上。模式变量的好处就是,我们可以给定一种“模式”,可以把变量定义在符合这种模式的所有目标上。

我们知道,make的“模式”一般是至少含有一个 % 的,所以,我们可以以如下方式给所有以 .o结尾的目标定义目标变量:

  1. %.o : CFLAGS = -O

同样,模式变量的语法和“目标变量”一样:

  1. <pattern ...>; : <variable-assignment>;
  2.  
  3. <pattern ...>; : override <variable-assignment>;

override同样是针对于系统环境传入的变量,或是make命令行指定的变量。