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