:= 是立即變量賦值,在定義時值已經被確定
= 是延時變量賦值,只有在這個變量被使用時才展開,$(VAR)就是一種被使用
例
VAR_A=abcd
VAR_B=$(VAR_A)VAR_C:=$(VAR_A)
VAR_A=cdef
此時,$(VAR_B) 爲 cdef (跟隨VAR_A變化)。
$(VAR_C) 爲 abcd (不隨VAR_A變化)。
?= 是條件賦值, 比如
foo ?= $(bar)
只有當foo變量還沒有被定義的時候,纔會將bar的值賦給foo。
:= 是立即變量賦值,在定義時值已經被確定
= 是延時變量賦值,只有在這個變量被使用時才展開,$(VAR)就是一種被使用
例
VAR_A=abcd
VAR_B=$(VAR_A)$(VAR_C) 爲 abcd (不隨VAR_A變化)。
?= 是條件賦值, 比如
foo ?= $(bar)
只有當foo變量還沒有被定義的時候,纔會將bar的值賦給foo。