/ / come definire la funzione di controllo dello stato di errore in Makefile - makefile

come definire la funzione di controllo dello stato di errore in Makefile - makefile

Nel mio makefile io ho

run_sh:

echo"run script";
toolk -run -tcl sequence.tcl | tee ./log/catch.log;
$(call chck "./log/catch.log")

Voglio catturare error status=0 messaggio dal file di registro sopra e controllare, se non "0", uscire dal modulo di creazione del file. quindi ho scritto questa funzione e chiamandola nel mio target run_sh.

define chck
log=$(1)
STAT=`cat $(1) | grep "exit status=0"`
ifneq ($(STAT),"exit status=0")
$(error error in script)
endif
endef

È il modo corretto di scrivere, perché ricevo un errore.

risposte:

1 per risposta № 1

Cosa ne pensi di questo:

run_sh:
echo"run script"; toolk -run -tcl sequence.tcl | tee ./log/catch.log;
grep "error status=0" ./log/catch.log || exit

MODIFICARE:

Non ho accesso a GNUMake 3.79.1, quindi dobbiamo eseguire alcuni esperimenti. Imposta questa regola:

run_sh:
exit

e prova "make run_sh" (non "crea" o "crea tutto" o qualsiasi altra cosa). Qual'è il risultato? (Non limitarti a dire "non" funziona ", mostraci l'output.)