YACAL2: CASL2処理系
[YACASL2.git] / test / astest / Makefile
1 include List.mk
2 LOGFILE = test.log
3 ifdef UNITNAME
4   define create
5     @mkdir $(UNITNAME)
6     @echo "UNITNAME = $(UNITNAME)" >$(UNITNAME)/Makefile; \
7      echo "# ASFILE = " >>$(UNITNAME)/Makefile; \
8      echo "# CASL2FLAG = " >>$(UNITNAME)/Makefile; \
9      echo "# INFILE = " >>$(UNITNAME)/Makefile; \
10      echo "include ../Test.mk" >>$(UNITNAME)/Makefile
11     @echo $(UNITNAME) \\ >>List.mk
12   endef
13 else
14   define create
15     @echo "no test created. set UNITNAME"
16   endef
17 endif
18
19 .PHONY: all clean logclean testclean check prepare
20 all: check
21 check: logclean checkeach report
22 clean: logclean testclean
23 logclean:
24         @rm -f $(LOGFILE)
25 testclean:
26         @for target in $(TESTS); do \
27          $(MAKE) testclean -C $$target; \
28      done
29 checkeach:
30         @for target in $(TESTS); do \
31          $(MAKE) -C $$target; \
32      done
33 prepare: logclean
34         @for target in $(TESTS) ; do \
35              $(MAKE) prepare -C $$target ;\
36      done
37 create:
38         $(create)
39 report:
40         @success=`grep "Success" $(LOGFILE) | wc -l`; \
41          all=`cat $(LOGFILE) | wc -l`; \
42          echo "$$success / $$all tests passed. Details in $(PWD)/$(LOGFILE)"; \
43          if test $$success -eq $$all; then \
44            echo "All tests are succeded."; \
45          else \
46            grep "Failure" $(LOGFILE); \
47          fi