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