What is ?= in Makefile
makefile
Solution
`?=` 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
Problem
``` 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 `?=`.