KDIR ?= $(shell uname -r)
Apa arti dari ?=
?
Saya telah memahami perbedaan antara :=
, +=
dan =
dari utas lain yang tersedia di Stack Overflow, tetapi tidak dapat menemukan penjelasannya ?=
.
Jawaban:
?=
menunjukkan untuk menyetel KDIR
variabel hanya jika tidak disetel / tidak memiliki nilai.
Sebagai contoh:
KDIR ?= "foo"
KDIR ?= "bar"
test:
echo $(KDIR)
Akan mencetak "foo"
Manual GNU: http://www.gnu.org/software/make/manual/html_node/Setting.html
?=
dapat digunakan untuk menerapkan nilai default / fallback ke variabel, ini mungkin diizinkan KDIR
untuk disetel di lingkungan.
?=
.
Terima kasih kepada Simon dan RT atas tanggapan mereka yang cepat dan benar.
Juga, saya telah menemukan manual GNU yang menjelaskan semuanya secara detail: http://www.gnu.org/software/make/manual/html_node/Setting.html