1、「=」
make會將整個makefile展開後,再決定變量的值。
x = foo
y = $(x) bar
x = xyz
y = xyz bar
2、「:=」
「:=」表示變量的值決定於它在makefile中的位置。
x := foo
y := $(x) bar
x := xyz
y = foo bar
3、「+=」添加後面的值
4、「?=」變數為空值才指定為後面的值
Kernel Makefile Example:
CONFIG_MODULE_SIG = n
obj-m += simple.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean