KDIR ?= $(shell uname -r)
Ne anlama geliyor ?=
?
Ben arasındaki farkı anlamış :=
, +=
ve =
yığın taşması kullanılabilmektedir, ancak yapamaz başka bir iş parçacığı için açıklama bulmaya ?=
.
Yanıtlar:
?=
KDIR
değişkeni yalnızca ayarlanmamışsa / bir değere sahip değilse ayarlamayı belirtir .
Örneğin:
KDIR ?= "foo"
KDIR ?= "bar"
test:
echo $(KDIR)
"Foo" yazdırır
GNU kılavuzu: http://www.gnu.org/software/make/manual/html_node/Setting.html
?=
bir değişkene varsayılan bir / yedek değeri uygulamak için kullanılabilir o izin olabilir, KDIR
çevrede ayarlanmalıdır.
?=
.
Hızlı ve doğru yanıtları için Simon ve RT'ye teşekkürler.
Ayrıca, her şeyi ayrıntılı olarak açıklayan GNU kılavuzunu buldum: http://www.gnu.org/software/make/manual/html_node/Setting.html