[ From GNUMake documenet ]

We say that expansion is deferred if

expansion is not performed immediately. Expansion of a deferred construct is not performed

until either the construct appears later in an immediate context, or until the second phase.


Variable Assignment

Variable definitions are parsed as follows:

immediate = deferred

immediate ?= deferred

immediate := immediate

immediate += deferred or immediate


define immediate

deferred

endef


define immediate =

deferred

endef


define immediate ?=

deferred

endef


define immediate :=

immediate

endef


define immediate +=

deferred or immediate

endef


For the append operator, ‘+=’, the right-hand side is considered immediate if the variable

was previously set as a simple variable (‘:=’), and deferred otherwise.


+ Recent posts