2 # make : CMDで設定されたコマンドを実行した出力結果を1.txtに出力し、0.txtと比較し、レポート
4 # make prepare : CMDで設定されたコマンドを実行した出力結果を0.txt(テストの想定結果)に出力
5 # make clean : 「make」で生成されたファイルをクリア
6 # make cleanall: 「make」と「make clean」で生成されたファイルをクリア
8 UNITNAME = `pwd | xargs basename`
11 INCLUDE = ../../../include
13 CFLAGS = -g -Wall -I $(INCLUDE)
14 COMMONSRC = $(SRCDIR)/word.c $(SRCDIR)/struct.c $(SRCDIR)/hash.c $(SRCDIR)/cmd.c $(SRCDIR)/cerr.c
15 ASSRC = $(SRCDIR)/assemble.c $(SRCDIR)/token.c $(SRCDIR)/label.c $(SRCDIR)/macro.c
16 EXECSRC = $(SRCDIR)/exec.c $(SRCDIR)/dump.c
19 SRC = $(COMMONSRC) $(ASSRC)
21 ifeq "$(UCLASS)" "EXEC"
22 SRC = $(COMMONSRC) $(EXECSRC)
24 ifeq "$(UCLASS)" "COMMON"
28 .PHPNY: check prepare clean cleanall
29 check: clean report.txt
30 prepare: cleanall 0.txt
32 @rm -f a.out 1.txt diff.txt report.txt
35 a.out: $(SRC) $(TESTSRCFILE)
36 @gcc $(CFLAGS) $(SRC) $(TESTSRCFILE)
40 @-diff -c 0.txt 1.txt >$@ 2>&1
42 @echo -n "$(UNITNAME): Test " >$@; \
43 if test ! -s $^; then echo -n "Success " >>$@; rm -f $^; else echo -n "Failure " >>$@; fi; \
44 echo `date +"%F %T"` >>$@