KDIR ?= $(shell uname -r)
Jakie jest znaczenie ?=
?
Mam rozumieć różnicę między :=
, +=
a =
od innego wątku dostępnych w przepełnienie stosu, ale nie może znaleźć wytłumaczenie ?=
.
Odpowiedzi:
?=
wskazuje, aby ustawić KDIR
zmienną tylko wtedy, gdy nie jest ustawiona / nie ma wartości.
Na przykład:
KDIR ?= "foo"
KDIR ?= "bar"
test:
echo $(KDIR)
Wyświetliłoby „foo”
Podręcznik GNU: http://www.gnu.org/software/make/manual/html_node/Setting.html
?=
można go użyć do zastosowania wartości domyślnej / rezerwowej do zmiennej, może pozwalać KDIR
na ustawienie w środowisku.
?=
.
Dziękuję Simonowi i RT za ich szybką i poprawną odpowiedź.
Znalazłem również podręcznik GNU, który wyjaśnia wszystko szczegółowo: http://www.gnu.org/software/make/manual/html_node/Setting.html