KDIR ?= $(shell uname -r)
What is the meaning of ?=
?
I have understood the difference between :=
, +=
and
Thanks to Simon and R.T. for their quick and correct response.
Also, I have found the GNU manual that explains everything in detail: http://www.gnu.org/software/make/manual/html_node/Setting.html
?=
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