@@@ fltfmt wip
[mLib] / Makefile.am
CommitLineData
18c831dc 1### -*-makefile-*-
a0150d8d 2###
18c831dc 3### Top-level build for mLib
a0150d8d 4###
18c831dc 5### (c) 2009 Straylight/Edgeware
a0150d8d
MW
6###
7
8###----- Licensing notice ---------------------------------------------------
9###
10### This file is part of the mLib utilities library.
11###
12### mLib is free software; you can redistribute it and/or modify
13### it under the terms of the GNU Library General Public License as
14### published by the Free Software Foundation; either version 2 of the
15### License, or (at your option) any later version.
16###
17### mLib 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 Library General Public License for more details.
21###
22### You should have received a copy of the GNU Library General Public
23### License along with mLib; if not, write to the Free
24### Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
25### MA 02111-1307, USA.
26
18c831dc 27include $(top_srcdir)/vars.am
b1a20bee 28ACLOCAL_AMFLAGS = -Im4
a0150d8d
MW
29
30SUBDIRS =
a0150d8d
MW
31
32###--------------------------------------------------------------------------
18c831dc 33### Top-level library.
a0150d8d 34
18c831dc 35lib_LTLIBRARIES = libmLib.la
cdbc7357
MW
36libmLib_la_LDFLAGS = -version-info $(LIBTOOL_VERSION_INFO) \
37 -no-undefined
a0150d8d 38libmLib_la_SOURCES =
d908fe4e 39libmLib_la_LIBADD = $(MLIB_LIBS)
a0150d8d 40
18c831dc
MW
41###--------------------------------------------------------------------------
42### Package-configuration file.
43
a0150d8d
MW
44pkgconfigdir = $(libdir)/pkgconfig
45pkgconfig_DATA = mLib.pc
46EXTRA_DIST += mLib.pc.in
47CLEANFILES += mLib.pc
48
49mLib.pc: mLib.pc.in Makefile
118a549c 50 $(SUBST) $(srcdir)/mLib.pc.in >$@.new \
3ac6fc5f 51 $(SUBSTITUTIONS) && \
a0150d8d
MW
52 mv $@.new $@
53
54###--------------------------------------------------------------------------
18c831dc
MW
55### Subdirectories.
56###
57### Note: There are implicit dependencies between the subdirectories. Be
58### careful about reordering them.
a0150d8d 59
18c831dc
MW
60## Utilities.
61SUBDIRS += utils
62libmLib_la_LIBADD += utils/libutils.la
a0150d8d
MW
63
64## Memory allocation.
18c831dc
MW
65SUBDIRS += mem
66libmLib_la_LIBADD += mem/libmem.la
a0150d8d 67
18c831dc
MW
68## User interface.
69SUBDIRS += ui
70libmLib_la_LIBADD += ui/libui.la
a0150d8d 71
18c831dc
MW
72## Hashing.
73SUBDIRS += hash
74libmLib_la_LIBADD += hash/libhash.la
a0150d8d 75
18c831dc
MW
76## Data structures.
77SUBDIRS += struct
78libmLib_la_LIBADD += struct/libstruct.la
a0150d8d 79
18c831dc
MW
80## Encoding and decoding.
81SUBDIRS += codec
82libmLib_la_LIBADD += codec/libcodec.la
a0150d8d 83
18c831dc
MW
84## System utilities.
85SUBDIRS += sys
86libmLib_la_LIBADD += sys/libsys.la
a0150d8d 87
18c831dc
MW
88## Buffering.
89SUBDIRS += buf
90libmLib_la_LIBADD += buf/libbuf.la
a0150d8d 91
18c831dc
MW
92## Event-driven networking.
93SUBDIRS += sel
94libmLib_la_LIBADD += sel/libsel.la
a0150d8d
MW
95
96## Testing.
18c831dc
MW
97SUBDIRS += test
98libmLib_la_LIBADD += test/libtest.la
a0150d8d 99
18c831dc
MW
100## Tracing.
101SUBDIRS += trace
102libmLib_la_LIBADD += trace/libtrace.la
a0150d8d 103
c4ccbbf9
MW
104## At this point we should construct the library.
105SUBDIRS += .
106
107## Examples.
108SUBDIRS += test/example
109
110###--------------------------------------------------------------------------
111### Manual.
112
113EXTRA_DIST += defs.man
114
115EXTRA_DIST += mLib.3.in
116LIBMANS += mLib.3
117
a0150d8d 118###--------------------------------------------------------------------------
7cf5c72a
MW
119### Testing.
120
121SUBDIRS += t
122
123###--------------------------------------------------------------------------
a0150d8d
MW
124### Distribution.
125
5bd808a6
MW
126## Make sure the precomputed tables are available. Hang this off of any
127## distributed file.
128mLib.pc.in: ensure-precomp-libs
129ensure-precomp-libs:
130 for d in ui utils; do (cd $$d && $(MAKE) all) || exit 1; done
131
a0150d8d
MW
132## Release number.
133dist-hook::
134 echo $(VERSION) >$(distdir)/RELEASE
135
136## Additional build tools.
137EXTRA_DIST += config/confsubst
138EXTRA_DIST += config/auto-version
139EXTRA_DIST += config/maninst
140
141###--------------------------------------------------------------------------
142### Debian.
c255a2ee 143
a0150d8d
MW
144## General stuff.
145EXTRA_DIST += debian/rules debian/copyright
146EXTRA_DIST += debian/control debian/changelog
10d1a23f 147EXTRA_DIST += debian/compat debian/source/format
e24857fe 148EXTRA_DIST += debian/common.symbols
5b078c11
MW
149
150## mlib2
a0150d8d 151EXTRA_DIST += debian/mlib2.install
e24857fe 152EXTRA_DIST += debian/mlib2.symbols
5b078c11
MW
153
154## mlib2-adns
9a38b772 155EXTRA_DIST += debian/mlib2-adns.install.in
e24857fe 156EXTRA_DIST += debian/mlib2-adns.symbols
5b078c11
MW
157
158## mlib-bin
a0150d8d 159EXTRA_DIST += debian/mlib-bin.install
21c22b5c 160
5b078c11
MW
161## mlib-dev
162EXTRA_DIST += debian/mlib-dev.install
163
18c831dc 164###----- That's all, folks --------------------------------------------------