Nach dem Rat an Abort makefile if variable not set Ich versuche ifndef
zu verwenden, aber es funktioniert nicht.Makefile - Fehler, wenn die Variable nicht gesetzt ist
Makefile:
foo:
ifndef BAR
$(error "Must set BAR")
endif
Aber make foo BAR=quux
funktioniert nicht:
Makfile:2: *** "Must set BAR". Stop.
Was soll das? Ist es ein Leerzeichen? Oder bin ich komplett falsch verstanden?
(Ich verwende GNU Make)
Ich habe auch versucht:
foo:
ifndef BAR
$(error "Must set BAR")
endif
echo $(BAR)
Welche Arbeit zu sortieren scheint aber immer noch bewirkt, dass die ifndef
wenn ein Ziel weiter im Makefile unten aufgerufen werden (die nicht erfordert, dass die Variable gesetzt wird) wird aufgerufen.