/ / как да определим функция за проверка на грешка в Makefile - makefile

как да се определи функцията за проверка на състоянието на грешки в Makefile - Makefile

В моето makefile аз имам

run_sh:

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

Искам да хвана error status=0 съобщение от горния лог файл и проверете, ако не "0" изход формуляр направи файл. така че съм написал тази функция и я извиквам в целевия ми run_sh.

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

Правилният начин за писане ли е, защото получавам грешка.

Отговори:

1 за отговор № 1

Какво ще кажете за това:

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

РЕДАКТИРАНЕ:

Нямам достъп до GNUMake 3.79.1, така че трябва да извършим някои експерименти. Задайте това правило:

run_sh:
exit

и опитайте „направи run_sh“ (не "направи" или "направи всичко" или нещо друго). Какъв е резултатът? (Не казвайте просто „не работи“, покажете ни резултата.)