KDIR ?= $(shell uname -r)
ความหมายของ?=อะไร?
ฉันได้เข้าใจความแตกต่างระหว่าง:=, +=และ=จากหัวข้ออื่นที่มีอยู่ในกองมากเกิน ?=แต่ไม่สามารถหาคำอธิบายสำหรับ
KDIR ?= $(shell uname -r)
ความหมายของ?=อะไร?
ฉันได้เข้าใจความแตกต่างระหว่าง:=, +=และ=จากหัวข้ออื่นที่มีอยู่ในกองมากเกิน ?=แต่ไม่สามารถหาคำอธิบายสำหรับ
คำตอบ:
?=ระบุว่าจะตั้งค่าKDIRตัวแปรก็ต่อเมื่อไม่ได้ตั้งค่า / ไม่มีค่า
ตัวอย่างเช่น:
KDIR ?= "foo"
KDIR ?= "bar"
test:
echo $(KDIR)
คงจะพิมพ์คำว่า "foo"
คู่มือ GNU: http://www.gnu.org/software/make/manual/html_node/Setting.html
?=สามารถใช้เพื่อใช้ค่าเริ่มต้น / ทางเลือกกับตัวแปรได้จึงอาจอนุญาตให้KDIRตั้งค่าในสภาพแวดล้อมได้
?=.
ขอบคุณ Simon และ RT สำหรับการตอบกลับที่รวดเร็วและถูกต้อง
นอกจากนี้ฉันพบคู่มือ GNU ที่อธิบายรายละเอียดทุกอย่าง: http://www.gnu.org/software/make/manual/html_node/Setting.html