Como você está usando o GNU make
, você pode usar o ?=
operador :
FOO ?= bar
mas isso não lida com valores nulos (ou vazios) preexistentes. O seguinte lida com valores ausentes e vazios:
ifndef FOO
override FOO = bar
endif
test:
echo "$(FOO)"
.PHONY: test
(Certifique-se de que a linha 6 comece com uma guia real.)
Você chamaria isso usando
make FOO=blah
para definir um valor. make
ou make FOO=
terminará definindo FOO
para bar
; você precisa de override
para sobrescrever as variáveis definidas na linha de comando .