test/Makefile.am: Make the stanzas more consistent.
[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 EXTRA_DIST += chimaera.sod chimaera.ref
33 nodist_chimaera_SOURCES = chimaera.c chimaera.h
34 BUILT_SOURCES += $(nodist_chimaera_SOURCES)
35 check-local:: chimaera chimaera.ref
36 ./chimaera >chimaera.out
37 diff -u $(srcdir)/chimaera.ref chimaera.out
38 -include chimaera.c-dep chimaera.h-dep
39 CLEANFILES += chimaera.out
40
41 ###--------------------------------------------------------------------------
42 ### Other tests.
43
44 TESTS += test
45 check_PROGRAMS += test
46 EXTRA_DIST += test.sod
47 nodist_test_SOURCES = test.c test.h
48 BUILT_SOURCES += $(nodist_test_SOURCES)
49 -include test.c-dep test.h-dep
50
51 EXTRA_DIST += bad.sod bad.ref
52 bad.out: bad.sod $(SOD)
53 $(SOD) -tc $(srcdir)/bad.sod >bad.raw-out 2>bad.raw-err; rc=$$?; \
54 { sed 's/^/| /' bad.raw-out; \
55 sed 's/^/* /; s,$(srcdir)/,test/,' bad.raw-err; \
56 echo "; rc = $$rc"; } >$@.new && \
57 mv $@.new $@
58 check-local:: bad.out
59 diff -u $(srcdir)/bad.ref bad.out
60 CLEANFILES += bad.raw-out bad.raw-err bad.out
61
62 check_PROGRAMS += kwtest
63 EXTRA_DIST += kwtest.ref
64 kwtest.out: kwtest$(EXEEXT)
65 ./kwtest >kwtest.out
66 check-local:: kwtest.out kwtest.ref
67 diff -u $(srcdir)/kwtest.ref kwtest.out
68 CLEANFILES += kwtest.out
69
70 check_PROGRAMS += rat
71 EXTRA_DIST += rat.sod rat.ref
72 nodist_rat_SOURCES = rat.c rat.h
73 BUILT_SOURCES += $(nodist_rat_SOURCES)
74 rat.out: rat$(EXEEXT)
75 ./rat >rat.out
76 check-local:: rat.out rat.ref
77 diff -u $(srcdir)/rat.ref rat.out
78 -include rat.c-dep rat.h-dep
79
80 check_PROGRAMS += kwbench
81 kwbench_SOURCES = kwbench.c kwbench-back.c kwbench.h
82
83 ###----- That's all, folks --------------------------------------------------