test/Makefile.am: Disentangle `test' from `bad', and `rat' from `kwbench'.
[sod] / test / Makefile.am
1 ### -*-makefile-*-
2 ###
3 ### Build script for SOD examples and tests
4 ###
5 ### (c) 2015 Straylight/Edgeware
6 ###
7
8 ###----- Licensing notice ---------------------------------------------------
9 ###
10 ### This file is part of the Sensible Object Design, an object system for C.
11 ###
12 ### SOD is free software; you can redistribute it and/or modify
13 ### it under the terms of the GNU General Public License as published by
14 ### the Free Software Foundation; either version 2 of the License, or
15 ### (at your option) any later version.
16 ###
17 ### SOD is distributed in the hope that it will be useful,
18 ### but WITHOUT ANY WARRANTY; without even the implied warranty of
19 ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 ### GNU General Public License for more details.
21 ###
22 ### You should have received a copy of the GNU General Public License
23 ### along with SOD; if not, write to the Free Software Foundation,
24 ### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25
26 include $(top_srcdir)/vars.am
27
28 ###--------------------------------------------------------------------------
29 ### The silly Chimaera example.
30
31 check_PROGRAMS += chimaera
32 -include chimaera.c-dep chimaera.h-dep
33
34 EXTRA_DIST += chimaera.sod
35 nodist_chimaera_SOURCES = chimaera.c chimaera.h
36 BUILT_SOURCES += $(nodist_chimaera_SOURCES)
37
38 EXTRA_DIST += chimaera.ref
39 CLEANFILES += chimaera.out
40 check-local:: chimaera chimaera.ref
41 ./chimaera >chimaera.out
42 diff -u $(srcdir)/chimaera.ref chimaera.out
43
44 ###--------------------------------------------------------------------------
45 ### Other tests.
46
47 TESTS += test
48 check_PROGRAMS += test
49 EXTRA_DIST += test.sod
50 nodist_test_SOURCES = test.c test.h
51 BUILT_SOURCES += $(nodist_test_SOURCES)
52 -include test.c-dep test.h-dep
53
54 EXTRA_DIST += bad.sod bad.ref
55 bad.out: bad.sod $(SOD)
56 $(SOD) -tc $(srcdir)/bad.sod >bad.raw-out 2>bad.raw-err; rc=$$?; \
57 { sed 's/^/| /' bad.raw-out; \
58 sed 's/^/* /; s,$(srcdir)/,test/,' bad.raw-err; \
59 echo "; rc = $$rc"; } >$@.new && \
60 mv $@.new $@
61 check-local:: bad.out
62 diff -u $(srcdir)/bad.ref bad.out
63 CLEANFILES += bad.raw-out bad.raw-err bad.out
64
65 check_PROGRAMS += kwtest
66
67 EXTRA_DIST += kwtest.ref
68 CLEANFILES += kwtest.out
69 check-local:: kwtest kwtest.ref
70 ./kwtest >kwtest.out
71 diff -u $(srcdir)/kwtest.ref kwtest.out
72
73 check_PROGRAMS += rat
74 -include rat.c-dep rat.h-dep
75
76 EXTRA_DIST += rat.sod rat.ref
77 nodist_rat_SOURCES = rat.c rat.h
78 BUILT_SOURCES += $(nodist_rat_SOURCES)
79 check-local:: rat rat.ref
80 ./rat >rat.out
81 diff -u $(srcdir)/rat.ref rat.out
82
83 check_PROGRAMS += kwbench
84 kwbench_SOURCES = kwbench.c kwbench-back.c kwbench.h
85
86 ###----- That's all, folks --------------------------------------------------