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 | |
cc6360e2 | 32 | EXTRA_DIST += chimaera.sod chimaera.ref |
8d1d7d3e MW |
33 | nodist_chimaera_SOURCES = chimaera.c chimaera.h |
34 | BUILT_SOURCES += $(nodist_chimaera_SOURCES) | |
8d1d7d3e MW |
35 | check-local:: chimaera chimaera.ref |
36 | ./chimaera >chimaera.out | |
37 | diff -u $(srcdir)/chimaera.ref chimaera.out | |
cc6360e2 MW |
38 | -include chimaera.c-dep chimaera.h-dep |
39 | CLEANFILES += chimaera.out | |
8d1d7d3e | 40 | |
4a83289a MW |
41 | ###-------------------------------------------------------------------------- |
42 | ### Other tests. | |
43 | ||
44 | TESTS += test | |
45 | check_PROGRAMS += test | |
a65375b6 MW |
46 | EXTRA_DIST += test.sod |
47 | nodist_test_SOURCES = test.c test.h | |
48 | BUILT_SOURCES += $(nodist_test_SOURCES) | |
e05aabbb | 49 | -include test.c-dep test.h-dep |
388ca1cd | 50 | |
43706814 | 51 | EXTRA_DIST += bad.sod bad.ref |
deef4956 MW |
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 | ||
9e91c8e7 | 62 | check_PROGRAMS += kwtest |
9e91c8e7 | 63 | EXTRA_DIST += kwtest.ref |
cc6360e2 | 64 | kwtest.out: kwtest$(EXEEXT) |
9e91c8e7 | 65 | ./kwtest >kwtest.out |
cc6360e2 | 66 | check-local:: kwtest.out kwtest.ref |
9e91c8e7 | 67 | diff -u $(srcdir)/kwtest.ref kwtest.out |
cc6360e2 | 68 | CLEANFILES += kwtest.out |
9e91c8e7 | 69 | |
e9be9d86 | 70 | check_PROGRAMS += rat |
e9be9d86 MW |
71 | EXTRA_DIST += rat.sod rat.ref |
72 | nodist_rat_SOURCES = rat.c rat.h | |
73 | BUILT_SOURCES += $(nodist_rat_SOURCES) | |
cc6360e2 | 74 | rat.out: rat$(EXEEXT) |
e9be9d86 | 75 | ./rat >rat.out |
cc6360e2 | 76 | check-local:: rat.out rat.ref |
e9be9d86 | 77 | diff -u $(srcdir)/rat.ref rat.out |
cc6360e2 | 78 | -include rat.c-dep rat.h-dep |
4aa2092a | 79 | CLEANFILES += rat.out |
e9be9d86 | 80 | |
a65375b6 MW |
81 | check_PROGRAMS += kwbench |
82 | kwbench_SOURCES = kwbench.c kwbench-back.c kwbench.h | |
83 | ||
8d1d7d3e | 84 | ###----- That's all, folks -------------------------------------------------- |