KDIR ?= $(shell uname -r)
Ý nghĩa của là ?=gì?
Tôi đã hiểu sự khác biệt giữa :=, +=và =từ một chủ đề có sẵn trong Stack Overflow, nhưng không thể tìm ra lời giải thích cho ?=.
Câu trả lời:
?=cho biết chỉ đặt KDIRbiến nếu nó không được đặt / không có giá trị.
Ví dụ:
KDIR ?= "foo"
KDIR ?= "bar"
test:
echo $(KDIR)
Sẽ in "foo"
Hướng dẫn sử dụng GNU: http://www.gnu.org/software/make/manual/html_node/Setting.html
?=có thể được sử dụng để áp dụng giá trị mặc định / dự phòng cho một biến, nó có thể cho phép KDIRđược đặt trong môi trường.
?=.
Cảm ơn Simon và RT đã phản hồi nhanh chóng và chính xác.
Ngoài ra, tôi đã tìm thấy sổ tay GNU giải thích mọi thứ chi tiết: http://www.gnu.org/software/make/manual/html_node/Setting.html