KDIR ?= $(shell uname -r)
Что означает ?=
?
Я понял разницу между :=
, +=
и =
из другого потока, доступного в Stack Overflow, но не могу найти объяснения для ?=
.
2 ответа
?=
указывает на установку переменной KDIR
, только если она не установлена / не имеет значения.
Например:
KDIR ?= "foo"
KDIR ?= "bar"
test:
echo $(KDIR)
Напечатал бы "foo"
Руководство GNU: http://www.gnu.org/software/make/ manual / html_node / Setting.html
Благодаря Саймону и Р.Т. за быстрый и правильный ответ.
Кроме того, я нашел руководство GNU, в котором все подробно объясняется: http://www.gnu.org/software/make/manual/html_node /Setting.html
Похожие вопросы
Связанные вопросы
Новые вопросы
linux
ВНИМАНИЕ: Все вопросы по Linux должны быть связаны с программированием; те, которые не будут закрыты. Используйте этот тег, только если ваш вопрос касается программирования с использованием API-интерфейсов Linux или поведения, специфичного для Linux, а не только потому, что вы запускаете свой код в Linux. Если вам нужна поддержка Linux, вы можете попробовать https://unix.stackexchange.com или сайт Stack Exchange конкретного дистрибутива Linux, например https://askubuntu.com или https://elementaryos.stackexchange.com/.
?=
можно использовать для применения значения по умолчанию / резервного значения к переменной, это может позволить установитьKDIR
в среде.?=
.