4 # MAINTARGET_OVERRIDE: メインターゲットを独自に定義し、オーバーライドする
5 # make : CMDで設定されたコマンドを実行した出力結果を1.txtに出力し、0.txtと比較し、レポート
7 # make prepare : CMDで設定されたコマンドを実行した出力結果を0.txt(テストの想定結果)に出力
8 # make clean : 「make」で生成されたファイルをクリア
9 # make cleanall: 「make」と「make prepare」で生成されたファイルをクリア
10 UNITNAME = `pwd | xargs basename`
11 DATE = `date +"%F %T"`
14 REPORT_FILE = report.txt
18 .PHONY: check prepare clean cleanall
20 check: clean $(REPORT_FILE)
22 prepare: cleanall $(TEST0_FILE)
25 @rm -f $(TEST1_FILE) $(DIFF_FILE) $(REPORT_FILE) $(ERR_FILE)
30 ifndef MAINTARGET_OVERRIDE
31 $(TEST0_FILE) $(TEST1_FILE):
33 $(CMD) >>$@ 2>$(ERR_FILE); \
34 if test -s $(ERR_FILE); then cat $(ERR_FILE) >>$@; else rm -f $(ERR_FILE); fi
37 $(DIFF_FILE): $(TEST1_FILE)
38 @-diff -c $(TEST0_FILE) $(TEST1_FILE) >$@ 2>&1
40 $(REPORT_FILE): $(DIFF_FILE)
41 @if test ! -s $^; then echo "$(UNITNAME): Test Success $(DATE)" >>$@; rm -f $^; else echo "$(UNITNAME): Test Failure $(DATE)" >>$@; fi;