it-swarm.com.de

Überprüfen des Werts von Umgebungsvariablen in Makefile

Ich habe ein Makefile-Ziel, in dem ich den Wert einer Umgebungsvariablen überprüfen muss. Aber ich verstehe nicht die genaue Syntax davon. Versuchte es hart, kann es aber nicht finden. Jede Hilfe wird geschätzt.

Name der Umgebungsvariablen: TEST, sein Wert: "TRUE"

test_target: 
    ifeq ($(TEST),"TRUE")
            echo "Do something"
    endif

Ich erhalte folgende Fehlermeldung:

/bin/sh: -c: line 0: syntax error near unexpected token `"TRUE","TRUE"'
/bin/sh: -c: line 0: `ifeq ("TRUE","TRUE")'
22
Ashwin Tumma

Die Direktive ifeq() muss sich in Spalte 1 befinden. Entfernen Sie alle führenden Leerzeichen, d. H.

test_target: 
ifeq ($(TEST),"TRUE")
        echo "Do something"
endif

^ kein Leerzeichen

29
gwillie

Sie dürfen ifeq nicht nach TAB setzen. Leerzeichen sind erlaubt. Lesen GNU Dokument erstellen .

test_target: 
ifeq ($(TEST),"TRUE")
    echo "Do something"
endif

Beachten Sie auch, dass $(TEST) wie folgt mit "TRUE" Verglichen wird:

$ make TEST=TRUE
make: Nothing to be done for 'test_target'.

$ make TEST='"TRUE"'
echo "Do something"
Do something
15
yaegashi