简单扩展的变量

简单扩展变量的行为类似于传统编程语言中的变量。评估右侧的表达式,并将结果存储在变量中。如果右侧包含变量引用,则在赋值发生之前扩展该变量。

x := hello
y := $(x)
# Both $(x) and $(y) will now yield "hello"
x := world
# $(x) will now yield "world", and $(y) will yield "hello"

另一种形式是使用双冒号分配:

x ::= hello

单结肠和双结肠分配是等效的。POSIX 标准仅提及::= 表单,因此严格遵守标准的实现可能不支持单冒号版本。