0

私のmakefile中で私は持っています

run_sh:

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

上記のログファイルからメッセージをキャッチして確認したいのですがerror status=0、「0」でない場合はフォームmakeファイルを終了します。そのため、この関数を作成し、ターゲットの run_sh で呼び出しました。

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

私はエラーが発生しているので、正しい書き方です。

4

1 に答える 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

「make run_sh」を試してください(「make」や「make all」などではありません)結果は?(「うまくいかない」と言うだけでなく、出力を見せてください。)

于 2013-10-05T11:49:42.703 に答える