A diretiva ifeq()
deve estar na coluna 1, remover qualquer espaço em branco inicial, ou seja,
test_target:
ifeq ($(TEST),"TRUE")
echo "Do something"
endif
^ sem espaço em branco
Eu tenho um destino Makefile, no qual tenho que verificar o valor de uma variável de ambiente. Mas eu não entendo a sintaxe exata disso. Tentei duro, mas não consegui encontrá-lo. Qualquer ajuda é apreciada.
Nome da variável de ambiente: TEST, seu valor: "TRUE"
test_target:
ifeq ($(TEST),"TRUE")
echo "Do something"
endif
Eu recebo o seguinte erro:
/bin/sh: -c: line 0: syntax error near unexpected token '"TRUE","TRUE"'
/bin/sh: -c: line 0: 'ifeq ("TRUE","TRUE")'
Você não deve colocar ifeq
após a tecla TAB. Espaços são permitidos. Leia o GNU Make document .
test_target:
ifeq ($(TEST),"TRUE")
echo "Do something"
endif
Observe também que ele compara $(TEST)
com "TRUE"
como está:
$ make TEST=TRUE
make: Nothing to be done for 'test_target'.
$ make TEST='"TRUE"'
echo "Do something"
Do something