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