KDIR ?= $(shell uname -r)
Qual é o significado de ?=?
Tenho entendido a diferença entre :=, +=e =de outro segmento disponível no Stack Overflow, mas incapaz de encontrar a explicação para ?=.
Respostas:
?=indica para definir a KDIRvariável apenas se não estiver definida / não tiver um valor.
Por exemplo:
KDIR ?= "foo"
KDIR ?= "bar"
test:
echo $(KDIR)
Imprimiria "foo"
Manual GNU: http://www.gnu.org/software/make/manual/html_node/Setting.html
?=pode ser usado para aplicar um valor default / fallback a uma variável, pode estar permitindo KDIRsua configuração no ambiente.
?=.
Obrigado a Simon e RT por sua resposta rápida e correta.
Além disso, encontrei o manual GNU que explica tudo em detalhes: http://www.gnu.org/software/make/manual/html_node/Setting.html