2 # make : CMDで設定されたコマンドを実行した出力結果を1.txtに出力し、0.txtと比較し、レポート
4 # make prepare : CMDで設定されたコマンドを実行した出力結果を0.txt(テストの想定結果)に出力
5 # make clean : 「make」で生成されたファイルをクリア
6 # make cleanall: 「make」と「make report」で生成されたファイルをクリア
7 # 要設定: CASL2, OBJFILE, COMET2, CMD
9 UNITNAME = `pwd | xargs basename`
11 .PHPNY: check prepare clean cleanall
12 check: clean report.txt
13 prepare: cleanall 0.txt $(OBJFILE)
15 @rm -f 1.txt diff.txt report.txt
17 @rm -f 0.txt $(OBJFILE)
18 $(OBJFILE): $(CASL2) $(ASFILE)
19 @-$(CASL2) $(CASL2FLAG) -O $(ASFILE) 2>$(ERRFILE)
20 0.txt 1.txt: $(COMET2) $(OBJFILE)
22 if test -s $(OBJFILE); then $(CMD) >>$@ 2>$(ERRFILE); fi; \
23 if test -s $(ERRFILE); then cat err.txt >>$@; else rm -f $(ERRFILE); fi
25 @-diff -c 0.txt 1.txt >$@ 2>&1
27 @echo -n "$(UNITNAME): Test " >$@; \
28 if test ! -s $^; then echo -n "Success " >>$@; rm -f $^; else echo -n "Failure " >>$@; fi; \
29 echo `date +"%F %T"` >>$@