# make prepare : CMDで設定されたコマンドを実行した出力結果を0.txt(テストの想定結果)に出力
# make clean : 「make」で生成されたファイルをクリア
# make cleanall: 「make」と「make clean」で生成されたファイルをクリア
-ERRFILE = err.txt
UNITNAME = `pwd | xargs basename`
.PHPNY: check prepare clean cleanall
@rm -f 1.txt diff.txt report.txt err.txt
cleanall: clean
@rm -f 0.txt
-0.txt 1.txt:: $(CASL2) $(ASFILE)
+ifndef SETBYOTHER
+0.txt 1.txt: $(CASL2) $(ASFILE)
@echo $(CMD) >$@; \
- $(CMD) >>$@ 2>$(ERRFILE); \
- if test -s $(ERRFILE); then cat err.txt >>$@; else rm -f $(ERRFILE); fi
+ $(CMD) >>$@ 2>err.txt; \
+ if test -s err.txt; then cat err.txt >>$@; else rm -f err.txt; fi
+endif
diff.txt: 1.txt
@-diff -c 0.txt 1.txt >$@ 2>&1
report.txt: diff.txt
include ../CMD.mk # YACASL2DIR, CASL2
include ../opt_s/CMD.mk # ASDIR, ASFILE
CASL2FLAG = -z
+SETBYOTHER = 0
CMD = $(CASL2) $(CASL2FLAG) $(ASFILE)
include ../TEST.mk
-0.txt 1.txt:: $(CASL2) $(ASFILE)
- @if test -s $(ERRFILE); then tail -1 err.txt >$@; else rm -f $(ERRFILE); fi
+0.txt 1.txt: $(CASL2) $(ASFILE)
+ @$(CMD) >>$@ 2>err.txt; \
+ if test -s err.txt; then tail -1 err.txt >>$@; else rm -f err.txt; fi