(edit: question more accurate based on @Michael feedback)
In bash, I often use parameter expansion: the following commands print "default value
" when $VARNAME
is unset, otherwise it prints the VARNAME content.
echo ${VARNAME:-default value} #if VARNAME empty => print "default value"
echo ${VARNAME-default value} #if VARNAME empty => print "" (VARNAME string)
I did not find a similar feature on GNU make
.
I finally wrote in my Makefile
:
VARNAME ?= "default value"
all:
echo ${VARNAME}
But I am not happy with this solution: it always creates the variable VARNAME
and this may change the behavior on some makefiles.
Is there a simpler way to get a default value on unset variable?
${VARNAME-default}
(no:
) is$(if $(filter undefined,$(origin VARNAME),default,${VARNAME})
. (Appologgies if I've typed that wrongly.) – Unaccustomed