Makefile中的?=是什么意思?

175
KDIR ?= $(shell uname -r)

?= 的含义是什么?我已经从 Stack Overflow 的另一个主题中了解了 :=+== 的区别,但找不到关于 ?= 的解释。

2个回答

245

1
这是否意味着KDIR已经在系统中声明过了? - codedoc
2
它不一定是这样的,因为?=可以用于将默认/回退值应用于变量,它可能允许在环境中设置KDIR - Simon
2
@Simon 注意,使用make命令时的命令行参数已经覆盖了Makefile变量,无需使用?=符号。 - CMCDragonkai

15

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接