Commit | Line | Data |
---|---|---|
8d1d7d3e MW |
1 | ### -*-makefile-*- |
2 | ### | |
3 | ### Build script for SOD examples and tests | |
4 | ### | |
5 | ### (c) 2015 Straylight/Edgeware | |
6 | ### | |
7 | ||
8 | ###----- Licensing notice --------------------------------------------------- | |
9 | ### | |
e0808c47 | 10 | ### This file is part of the Sensible Object Design, an object system for C. |
8d1d7d3e MW |
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 | |
e05aabbb | 32 | -include chimaera.c-dep chimaera.h-dep |
8d1d7d3e MW |
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 | ||
4a83289a MW |
44 | ###-------------------------------------------------------------------------- |
45 | ### Other tests. | |
46 | ||
47 | TESTS += test | |
48 | check_PROGRAMS += test | |
e05aabbb | 49 | -include test.c-dep test.h-dep |
388ca1cd | 50 | |
deef4956 MW |
51 | bad.out: bad.sod $(SOD) |
52 | $(SOD) -tc $(srcdir)/bad.sod >bad.raw-out 2>bad.raw-err; rc=$$?; \ | |
53 | { sed 's/^/| /' bad.raw-out; \ | |
54 | sed 's/^/* /; s,$(srcdir)/,test/,' bad.raw-err; \ | |
55 | echo "; rc = $$rc"; } >$@.new && \ | |
56 | mv $@.new $@ | |
57 | check-local:: bad.out | |
58 | diff -u $(srcdir)/bad.ref bad.out | |
59 | CLEANFILES += bad.raw-out bad.raw-err bad.out | |
60 | ||
388ca1cd | 61 | EXTRA_DIST += test.sod |
4a83289a MW |
62 | nodist_test_SOURCES = test.c test.h |
63 | BUILT_SOURCES += $(nodist_test_SOURCES) | |
64 | ||
9e91c8e7 MW |
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 | ||
e9be9d86 | 73 | check_PROGRAMS += rat |
e05aabbb | 74 | -include rat.c-dep rat.h-dep |
e9be9d86 MW |
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 | ||
8d1d7d3e | 83 | ###----- That's all, folks -------------------------------------------------- |