=:=?=+= =使用最后一个值进行展开 VIR_A = AVIR_B = $(VIR_A) BVIR_A = AAVIR_B 最后为 AA B 而不是 A B :=即赋值 VIR_A := AVIR_B := $(VIR_A) BVIR_A := AAVIR_B 为 A B ?=?= 如果没有被赋值,则赋予等号后面的值。VIR := old_valueVIR ?= new_value如例子:VIR最后的值为old_value 特殊情况:VIR := 可以赋值为空值 +=concat