KDIR ?= $(shell uname -r)
の意味は?=
何ですか?
:=
、+=
と=
Stack Overflowで利用可能な別のスレッドとの違いを理解しましたが、の説明が見つかりません?=
。
回答:
?=
KDIR
変数が設定されていない/値がない場合にのみ変数を設定することを示します。
例えば:
KDIR ?= "foo"
KDIR ?= "bar"
test:
echo $(KDIR)
「foo」を出力します
GNUマニュアル:http://www.gnu.org/software/make/manual/html_node/Setting.html
?=
デフォルト/フォールバック値を変数に適用するために使用できるため、そうである必要はありませんKDIR
。環境で設定できる可能性があります。
?=
。を必要とせずにMakefile変数を既にオーバーライドしていることに注意してください。
迅速で正しい応答をしてくれたSimonとRTに感謝します。
また、すべてを詳細に説明しているGNUマニュアルを見つけました:http: //www.gnu.org/software/make/manual/html_node/Setting.html