KDIR ?= $(shell uname -r)
What is the meaning of ?=
?
I have understood the difference between :=
, +=
and =
from another thread available in Stack Overflow, but unable to find the explanation for ?=
.
?=
indicates to set the KDIR
variable only if it's not set/doesn't have a value.
For example:
KDIR ?= "foo"
KDIR ?= "bar"
test:
echo $(KDIR)
Would print "foo"
GNU manual: http://www.gnu.org/software/make/manual/html_node/Setting.html