- 追加变量值
追加变量值
我们可以使用 += 操作符给变量追加值,如:
- objects = main.o foo.o bar.o utils.o
- objects += another.o
于是,我们的 $(objects) 值变成:“main.o foo.o bar.o utils.o another.o”(another.o被追加进去了)
使用 += 操作符,可以模拟为下面的这种例子:
- objects = main.o foo.o bar.o utils.o
- objects := $(objects) another.o
所不同的是,用 += 更为简洁。
如果变量之前没有定义过,那么, += 会自动变成 = ,如果前面有变量定义,那么 += 会继承于前次操作的赋值符。如果前一次的是 := ,那么 += 会以 := 作为其赋值符,如:
- variable := value
- variable += more
等价于:
- variable := value
- variable := $(variable) more
但如果是这种情况:
- variable = value
- variable += more
由于前次的赋值符是 = ,所以 += 也会以 = 来做为赋值,那么岂不会发生变量的递补归定义,这是很不好的,所以make会自动为我们解决这个问题,我们不必担心这个问题。
