chiark / gitweb /
CMakeLists.txt, lib.h, t/soak, t/treetest.c: Add some support for Windows.
[xyla] / Makefile.am
1 ### -*-makefile-*-
2 ###
3 ### Build script for Xyla
4 ###
5 ### (c) 2024 Straylight/Edgeware
6 ###
7
8 ###----- Licensing notice ---------------------------------------------------
9 ###
10 ### This file is part of Xyla, a library of binary trees.
11 ###
12 ### Xyla is free software: you can redistribute it and/or modify it under
13 ### the terms of the GNU Lesser General Public License as published by the
14 ### Free Software Foundation; either version 3 of the License, or (at your
15 ### option) any later version.
16 ###
17 ### Xyla is distributed in the hope that it will be useful, but WITHOUT
18 ### ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 ### FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
20 ### License for more details.
21 ###
22 ### You should have received a copy of the GNU Lesser General Public
23 ### License along with Xyla.  If not, see <https://www.gnu.org/licenses/>.
24
25 include vars.am
26
27 ACLOCAL_AMFLAGS          = -Im4
28
29 SUBDIRS                  =
30
31 lib_LTLIBRARIES          =
32 pkginclude_HEADERS       =
33 dist_man_MANS            =
34
35 SUBDIRS                 += .
36
37 ###--------------------------------------------------------------------------
38 ### Library.
39
40 ## The library itself.
41 lib_LTLIBRARIES         += libxyla.la
42 libxyla_la_LDFLAGS       = -version-info $(LIBTOOL_VERSION_INFO)
43 libxyla_la_SOURCES       =
44 dist_man_MANS           += xyla.3
45 LDADD                   += libxyla.la
46
47 libxyla_la_SOURCES      += lib.h
48 libxyla_la_SOURCES      += base.c
49 libxyla_la_SOURCES      += diag.c
50
51 pkginclude_HEADERS      += bt.h
52 libxyla_la_SOURCES      += bt-check.c
53 libxyla_la_SOURCES      += bt-rm.c
54 libxyla_la_SOURCES      += bt-sever.c
55 libxyla_la_SOURCES      += bt-set.c
56
57 pkginclude_HEADERS      += avl.h
58 libxyla_la_SOURCES      += avl-addrm.c
59 libxyla_la_SOURCES      += avl-check.c
60 libxyla_la_SOURCES      += avl-iter.c
61 libxyla_la_SOURCES      += avl-misc.c
62 libxyla_la_SOURCES      += avl-path.c
63 libxyla_la_SOURCES      += avl-search.c
64 libxyla_la_SOURCES      += avl-set.c
65 libxyla_la_SOURCES      += avl-splitjoin.c
66
67 pkginclude_HEADERS      += rb.h
68 libxyla_la_SOURCES      += rb-addrm.c
69 libxyla_la_SOURCES      += rb-check.c
70 libxyla_la_SOURCES      += rb-iter.c
71 libxyla_la_SOURCES      += rb-misc.c
72 libxyla_la_SOURCES      += rb-path.c
73 libxyla_la_SOURCES      += rb-search.c
74 libxyla_la_SOURCES      += rb-set.c
75 libxyla_la_SOURCES      += rb-splitjoin.c
76
77 pkginclude_HEADERS      += splay.h
78 libxyla_la_SOURCES      += splay-base.c
79 libxyla_la_SOURCES      += splay-addrm.c
80 libxyla_la_SOURCES      += splay-balance.c
81 libxyla_la_SOURCES      += splay-check.c
82 libxyla_la_SOURCES      += splay-iter.c
83 libxyla_la_SOURCES      += splay-path.c
84 libxyla_la_SOURCES      += splay-search.c
85 libxyla_la_SOURCES      += splay-set.c
86 libxyla_la_SOURCES      += splay-splitjoin.c
87
88 pkginclude_HEADERS      += treap.h
89 libxyla_la_SOURCES      += treap-addrm.c
90 libxyla_la_SOURCES      += treap-check.c
91 libxyla_la_SOURCES      += treap-fail.c
92 libxyla_la_SOURCES      += treap-iter.c
93 libxyla_la_SOURCES      += treap-path.c
94 libxyla_la_SOURCES      += treap-search.c
95 libxyla_la_SOURCES      += treap-set.c
96 libxyla_la_SOURCES      += treap-splitjoin.c
97
98 ## Package description.
99 pkgconf_DATA            += xyla.pc
100 CLEANFILES              += xyla.pc
101 EXTRA_DIST              += xyla.pc.in
102
103 xyla.pc: xyla.pc.in Makefile
104         $(SUBST) $(srcdir)/xyla.pc.in >$@.new $(SUBSTITUTIONS) \
105                 && mv $@.new $@
106
107 ###--------------------------------------------------------------------------
108 ### Other subdirectories.
109
110 ## Testing.
111 SUBDIRS                 += t
112
113 ###--------------------------------------------------------------------------
114 ### Other finishing touches.
115
116 ## Version stamp.
117 dist-hook::
118         echo $(VERSION) >$(distdir)/RELEASE
119
120 ## Additional documentation.
121 EXTRA_DIST              += README.org
122
123 ## Build tools.
124 EXTRA_DIST              += config/auto-version
125 EXTRA_DIST              += config/confsubst
126
127 ###--------------------------------------------------------------------------
128 ### Debian.
129
130 ## Main stuff.
131 EXTRA_DIST              += debian/changelog debian/compat debian/control
132 EXTRA_DIST              += debian/copyright debian/rules debian/source/format
133
134 ## Library.
135 EXTRA_DIST              += debian/libxyla0.install
136 EXTRA_DIST              += debian/libxyla0.shlibs
137 EXTRA_DIST              += debian/libxyla0.symbols
138 EXTRA_DIST              += debian/libxyla-dev.install
139
140 ###----- That's all, folks --------------------------------------------------