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ć KDIRzmienną 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ć KDIRna 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