(edit: question more accurate based on @Michael feedback)
In bash, I often use parameter expansion: the following commands print \"default value\" when
default value
If you want to use the expansion of a GNU make variable if it is non-empty and a default value if it is empty, but not set the variable, you can do something like this:
all: echo $(or $(VARNAME),default value)