J'ai une cible Makefile, dans laquelle je dois vérifier la valeur d'une variable d'environnement. Mais je n'en ai pas la syntaxe exacte. J'ai essayé dur, mais je ne le trouve pas. Toute aide est appréciée.
Nom de la variable d'environnement: TEST, sa valeur: "TRUE"
test_target:
ifeq ($(TEST),"TRUE")
echo "Do something"
endif
J'obtiens l'erreur suivante:
/bin/sh: -c: line 0: syntax error near unexpected token `"TRUE","TRUE"'
/bin/sh: -c: line 0: `ifeq ("TRUE","TRUE")'
La directive ifeq()
doit être dans la colonne 1, supprimez tous les espaces en tête, c'est-à-dire
test_target:
ifeq ($(TEST),"TRUE")
echo "Do something"
endif
^ aucun espace
Vous ne devez pas mettre ifeq
après TAB. Les espaces sont autorisés. Lire GNU Make document .
test_target:
ifeq ($(TEST),"TRUE")
echo "Do something"
endif
Notez également qu'il compare $(TEST)
avec "TRUE"
Tel quel:
$ make TEST=TRUE
make: Nothing to be done for 'test_target'.
$ make TEST='"TRUE"'
echo "Do something"
Do something