PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : make Ausfuehrung abbrechen



codefritz
22-06-2009, 11:12
Moechte den make-Ablauf bei eintreten best. Bedingungen, welche ich ueber die Shell abfrage. Z.B. fehlen einer Datei abbrechen. Es sollen alle nachfolgenden Kommandos und evtl. Abhaengigkeiten (targets) nichtmehr ausgefuehrt werden.

MIt Hilf e des GNU manual habe ich mal mit Hilfe der make $(error .. ) Funktion folgenden Bsp.Code geschrieben:



FILE := ./file



error:
$(error my-error)

cancel: test
@(\
echo "cancel target executed";\
)

test:
@(\
echo "processing test target";\
if [ -f ${FILE} ]; then\
echo "file ${FILE} exists";\
else\
echo "file does NOT exist";\
${MAKE} error;\
echo "after cancel";\
fi;\
)



Leider wird der make-Ablauf nicht abgeborchen, sondern auch noch die nachfolgenden Kommandos und targets aufgerufen.

Was mache ich falsch!?

Danke.

panzi
23-06-2009, 11:41
Versuche an der Fehlerstelle @(exit 1). Bei einen Returnwert von != 0 wird i.d.R. abgebrochen.

panzi
23-06-2009, 11:42
Bzw. wenn es um die Existenz einer Datei geht mach die doch als Abhängigkeit.