KDIR ?= $(shell uname -r)
?=
是什么意思?
我已理解Stack Overflow中另一个线程中:=
,+=
和=
之间的区别,但无法找到?=
的解释。
答案 0 :(得分:78)
?=
表示仅在KDIR
变量未设置/没有值时才设置。{/ p>
例如:
KDIR ?= "foo"
KDIR ?= "bar"
test:
echo $(KDIR)
会打印" foo"
答案 1 :(得分:5)
感谢Simon和R.T.他们快速而正确的回应。
另外,我找到了GNU手册,详细解释了所有内容: http://www.gnu.org/software/make/manual/html_node/Setting.html