KDIR ?= $(shell uname -r)
是什么意思?=
?
我已经明白之间的差别:=
,+=
并=
从堆栈溢出可用,但无法另一个线程来寻找解释?=
。
Answers:
?=
表示KDIR
仅在未设置/没有值的情况下设置变量。
例如:
KDIR ?= "foo"
KDIR ?= "bar"
test:
echo $(KDIR)
将打印“ foo”
GNU手册:http : //www.gnu.org/software/make/manual/html_node/Setting.html
?=
可以用于将默认值/后备值应用于变量,因此可以KDIR
在环境中进行设置。
?=
。
感谢Simon和RT的快速正确的答复。
另外,我还找到了详细解释所有内容的GNU手册:http : //www.gnu.org/software/make/manual/html_node/Setting.html