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
17 .PHPNY: check prepare clean cleanall
18 check: clean $(REPORT_FILE)
19 prepare: cleanall $(TEST0_FILE)
21 @rm -f $(TEST1_FILE) $(DIFF_FILE) $(REPORT_FILE) $(ERR_FILE)
24 ifndef MAINTARGET_OVERRIDE
25 $(TEST0_FILE) $(TEST1_FILE):
27 $(CMD) >>$@ 2>$(ERR_FILE); \
28 if test -s $(ERR_FILE); then cat $(ERR_FILE) >>$@; else rm -f $(ERR_FILE); fi
30 $(DIFF_FILE): $(TEST1_FILE)
31 @-diff -c $(TEST0_FILE) $(TEST1_FILE) >$@ 2>&1
32 $(REPORT_FILE): $(DIFF_FILE)
33 @if test ! -s $^; then echo "$(UNITNAME): Test Success $(DATE)" >>$@; rm -f $^; else echo "$(UNITNAME): Test Failure $(DATE)" >>$@; fi;