web-dev-qa-db-ja.com

Makefileの=

KDIR ?= $(Shell uname -r)

?=の意味は何ですか?

:=+=、および=の違いは、Stack Overflowで利用可能な別のスレッドとは異なりますが、?=の説明が見つかりません。

61
codedoc

?=は、値が設定されていない/値がない場合にのみ、KDIR変数を設定することを示します。

例えば:

KDIR ?= "foo"
KDIR ?= "bar"

test:
    echo $(KDIR)

「foo」を印刷します

87
Simon

サイモンとR.T.に感謝迅速かつ正確な対応のため。

また、GNUマニュアルのすべてを詳細に説明しています: http://www.gnu.org/software/make/manual/html_node/Setting.html =

7
codedoc