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 KDIRvariabel 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 KDIRuntuk 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