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установить в среде.
?=.
Спасибо Саймону и RT за их быстрый и правильный ответ.
Кроме того, я нашел руководство GNU, в котором все подробно объясняется: http://www.gnu.org/software/make/manual/html_node/Setting.html