= 赋予最后展开值
VIR_A = A
VIR_B = $(VIR_A) B
VIR_A = AA最后 VIR_B 的值是 AA B,而不是A B.
:= 赋予当前位置值
VIR_A := A
VIR_B := $(VIR_A) B
VIR_A := AA变量 VIR_B 的值是 A B
?= 如果没有,则赋值
?=: 如果该变量没有被赋值,则赋予 ?= 后的值。否则就依原有值,不改变。例:
VIR ?= new_value
# VIR == new_value
VIR := old_value
VIR ?= new_value
# VIR == old_value+= 累加
+= 和常用理解一样,表示将等号后面的值,添加到前面的变量上
Makefile中:=, =, ?=和+=的含义 https://blog.csdn.net/b876144622/article/details/80372161
沙滩星空的博客