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