3 ### Building the distribution
5 ### (c) 1998 Straylight/Edgeware
8 ###----- Licensing notice ---------------------------------------------------
10 ### This file is part of the mLib utilities library.
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.
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.
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.
27 pkglibexecdir = $(libexecdir)/$(PACKAGE)
41 confsubst = $(top_srcdir)/config/confsubst
44 prefix=$(prefix) exec_prefix=$(exec_prefix) \
45 libdir=$(libdir) includedir=$(includedir) \
46 bindir=$(bindir) sbindir=$(sbindir) \
47 PACKAGE=$(PACKAGE) VERSION=$(VERSION)
49 ###--------------------------------------------------------------------------
52 lib_LTLIBRARIES += libmLib.la
53 libmLib_la_LDFLAGS = -version-info $(LIBTOOL_VERSION_INFO)
57 pkgconfigdir = $(libdir)/pkgconfig
58 pkgconfig_DATA = mLib.pc
59 EXTRA_DIST += mLib.pc.in
62 mLib.pc: mLib.pc.in Makefile
63 $(confsubst) $(srcdir)/mLib.pc.in >$@.new $(SUBSTITUTIONS) && \
66 ###--------------------------------------------------------------------------
72 TEST_CPPFLAGS = -DTEST_RIG -DSRCDIR="\"(srcdir)\"" $(AM_CPPFLAGS)
76 ###--------------------------------------------------------------------------
79 noinst_LTLIBRARIES += libutils.la
82 libmLib_la_LIBADD += libutils.la
85 pkginclude_HEADERS += macros.h
88 pkginclude_HEADERS += align.h
91 pkginclude_HEADERS += bits.h
93 EXTRA_DIST += bits.in bits-testgen.c
94 tests:: bits.t bits.in
95 ./bits.t -f $(srcdir)/bits.in
97 check_PROGRAMS += bits.t
98 bits_t_SOURCES = bits.c
99 bits_t_CPPFLAGS = $(TEST_CPPFLAGS)
100 bits_t_LDFLAGS = -static
103 pkginclude_HEADERS += exc.h
104 libmLib_la_SOURCES += exc.c
107 pkginclude_HEADERS += str.h
108 libutils_la_SOURCES += str.c
110 ## Version comparison.
111 pkginclude_HEADERS += versioncmp.h
112 libmLib_la_SOURCES += versioncmp.c
114 EXTRA_DIST += versioncmp.in
115 tests:: versioncmp.t versioncmp.in
116 ./versioncmp.t -f $(srcdir)/versioncmp.in
118 check_PROGRAMS += versioncmp.t
119 versioncmp_t_SOURCES = versioncmp-test.c
120 versioncmp_t_CPPFLAGS = $(TEST_CPPFLAGS)
121 versioncmp_t_LDFLAGS = -static
123 ###--------------------------------------------------------------------------
124 ### Memory allocation.
126 ## Memory allocation.
127 pkginclude_HEADERS += alloc.h arena.h sub.h
128 libmLib_la_SOURCES += alloc.c arena.c sub.c
131 pkginclude_HEADERS += pool.h
132 libmLib_la_SOURCES += pool.c pool-file.c pool-sub.c
134 ###--------------------------------------------------------------------------
138 pkginclude_HEADERS += crc32.h
139 libmLib_la_SOURCES += crc32.c crc32-tab.c
141 bin_PROGRAMS += crc-mktab
142 crc_mktab_SOURCES = crc-mktab.c $(UTIL_SOURCES)
143 crc_mktab_LDADD = libutils.la
145 BUILT_SOURCES += crc32-tab.c
146 CLEANFILES += crc32-tab.c
147 crc32-tab.c: crc-mktab$(EXEEXT)
148 ./crc-mktab -o $@.new \
149 -p0x04c11db7 -b32 -B8 -r -c \
150 -scrc32_table -icrc32.h -tuint32 && \
153 ## Universal hashing.
154 pkginclude_HEADERS += unihash.h
155 libutils_la_SOURCES += unihash.c
156 libmLib_la_SOURCES += unihash-global.c
157 BUILT_SOURCES += unihash-global.c
159 bin_PROGRAMS += unihash-mkstatic
160 unihash_mkstatic_SOURCES = unihash-mkstatic.c
161 unihash_mkstatic_LDADD = libutils.la
163 BUILT_SOURCES += unihash-global.c
164 CLEANFILES += unihash-global.c
165 unihash-global.c: unihash-mkstatic$(EXEEXT)
166 ./unihash-mkstatic -c -sunihash_global -iunihash.h -o$@.new && \
169 check_PROGRAMS += unihash.t
170 unihash_t_SOURCES = unihash.c
171 unihash_t_CPPFLAGS = $(TEST_CPPFLAGS)
172 unihash_t_LDFLAGS = -static
174 tests:: unihash.t unihash.in
175 ./unihash.t -f unihash.in
177 EXTRA_DIST += unihash-check.pl
178 CLEANFILES += unihash.in
179 unihash.in: unihash-check.pl
180 perl $(srcdir)/unihash-check.pl >$@.new && mv $@.new $@
182 ###--------------------------------------------------------------------------
186 pkginclude_HEADERS += dstr.h dspool.h
187 libmLib_la_SOURCES += dstr.c dputf.c dspool.c
190 pkginclude_HEADERS += buf.h
191 libmLib_la_SOURCES += buf.c buf-dstr.c
194 pkginclude_HEADERS += darray.h
195 libmLib_la_SOURCES += darray.c
198 tests:: darray.t da.in da.ref
199 ./darray.t <da.in >da.out
203 check_PROGRAMS += darray.t
204 darray_t_SOURCES = da-test.c
205 darray_t_CPPFLAGS = $(TEST_CPPFLAGS)
206 darray_t_LDFLAGS = -static
208 EXTRA_DIST += da-gtest
211 perl $(srcdir)/da-gtest 10000 >$@.new && mv $@.new $@
216 perl $(srcdir)/da-ref <da.in >$@.new && mv $@.new $@
219 pkginclude_HEADERS += hash.h
220 libmLib_la_SOURCES += hash.c
223 pkginclude_HEADERS += sym.h
224 libmLib_la_SOURCES += sym.c
226 CLEANFILES += sym.out
227 tests:: sym.t sym.in sym.ref
228 ./sym.t <sym.in >sym.out
232 check_PROGRAMS += sym.t
233 sym_t_SOURCES = sym-test.c
234 sym_t_CPPFLAGS = $(TEST_CPPFLAGS)
235 sym_t_LDFLAGS = -static
237 EXTRA_DIST += sym-gtest
240 perl $(srcdir)/sym-gtest 10000 >$@.new && mv $@.new $@
242 EXTRA_DIST += sym-ref
243 CLEANFILES += sym.ref
244 sym.ref: sym-ref sym.in
245 perl $(srcdir)/sym-ref <sym.in >$@.new && mv $@.new $@
248 pkginclude_HEADERS += atom.h
249 libmLib_la_SOURCES += atom.c
251 ## Association tables.
252 pkginclude_HEADERS += assoc.h
253 libmLib_la_SOURCES += assoc.c
255 CLEANFILES += assoc.out
256 tests:: assoc.t sym.in sym.ref
257 ./assoc.t <sym.in >assoc.out
258 cmp assoc.out sym.ref
261 check_PROGRAMS += assoc.t
262 assoc_t_SOURCES = assoc-test.c
263 assoc_t_CPPFLAGS = $(TEST_CPPFLAGS)
264 assoc_t_LDFLAGS = -static
266 ###--------------------------------------------------------------------------
270 noinst_LTLIBRARIES += libmdwopt.la
271 pkginclude_HEADERS += mdwopt.h
272 libmdwopt_la_SOURCES = mdwopt.c
273 libmdwopt_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_MLIB
274 libutils_la_LIBADD += libmdwopt.la
277 pkginclude_HEADERS += quis.h
278 libutils_la_SOURCES += quis.c pquis.c
281 pkginclude_HEADERS += report.h
282 libutils_la_SOURCES += report.c
284 ###--------------------------------------------------------------------------
285 ### Encoding and decoding.
288 pkginclude_HEADERS += url.h
289 libmLib_la_SOURCES += url.c
292 pkginclude_HEADERS += base64.h
293 libmLib_la_SOURCES += base64.c
295 EXTRA_DIST += base64.in base64.ref
296 CLEANFILES += base64.out
297 tests:: base64.t base64.in base64.ref
298 ./base64.t <$(srcdir)/base64.in >base64.out
299 cmp base64.out $(srcdir)/base64.ref
300 ./base64.t -d <$(srcdir)/base64.ref >base64.out
301 cmp base64.out $(srcdir)/base64.in
304 check_PROGRAMS += base64.t
305 base64_t_SOURCES = base64.c
306 base64_t_CPPFLAGS = $(TEST_CPPFLAGS)
307 base64_t_LDFLAGS = -static
310 pkginclude_HEADERS += base32.h
311 libmLib_la_SOURCES += base32.c
313 EXTRA_DIST += base32.in base32.ref
314 CLEANFILES += base32.out
315 tests:: base32.t base32.in base32.ref
316 ./base32.t <$(srcdir)/base32.in >base32.out
317 cmp base32.out $(srcdir)/base32.ref
318 ./base32.t -d <$(srcdir)/base32.ref >base32.out
319 cmp base32.out $(srcdir)/base32.in
322 check_PROGRAMS += base32.t
323 base32_t_SOURCES = base32.c
324 base32_t_CPPFLAGS = $(TEST_CPPFLAGS)
325 base32_t_LDFLAGS = -static
328 pkginclude_HEADERS += hex.h
329 libmLib_la_SOURCES += hex.c
331 EXTRA_DIST += hex.in hex.ref
332 CLEANFILES += hex.out
333 tests:: hex.t hex.in hex.ref
334 ./hex.t <$(srcdir)/hex.in >hex.out
335 cmp hex.out $(srcdir)/hex.ref
336 ./hex.t -d <$(srcdir)/hex.ref >hex.out
337 cmp hex.out $(srcdir)/hex.in
340 check_PROGRAMS += hex.t
341 hex_t_SOURCES = hex.c
342 hex_t_CPPFLAGS = $(TEST_CPPFLAGS)
343 hex_t_LDFLAGS = -static
345 ###--------------------------------------------------------------------------
346 ### System utilities.
349 pkginclude_HEADERS += daemonize.h
350 libmLib_la_SOURCES += daemonize.c
352 ## Environment variables.
353 pkginclude_HEADERS += env.h
354 libmLib_la_SOURCES += env.c
356 ## File and descriptor flags.
357 pkginclude_HEADERS += fdflags.h
358 libmLib_la_SOURCES += fdflags.c
360 ## File descriptor passing.
361 pkginclude_HEADERS += fdpass.h
362 libmLib_la_SOURCES += fdpass.c
364 ## Watching files for modification.
365 pkginclude_HEADERS += fwatch.h
366 libmLib_la_SOURCES += fwatch.c
369 pkginclude_HEADERS += lock.h
370 libmLib_la_SOURCES += lock.c
373 pkginclude_HEADERS += tv.h
374 libmLib_la_SOURCES += tv.c
376 ###--------------------------------------------------------------------------
380 pkginclude_HEADERS += lbuf.h
381 libmLib_la_SOURCES += lbuf.c
384 pkginclude_HEADERS += pkbuf.h
385 libmLib_la_SOURCES += pkbuf.c
387 ###--------------------------------------------------------------------------
388 ### Network utilities.
390 ## Core event selection.
391 pkginclude_HEADERS += sel.h
392 libmLib_la_SOURCES += sel.c
394 ## Waiting for buffers to fill.
395 pkginclude_HEADERS += selbuf.h selpk.h
396 libmLib_la_SOURCES += selbuf.c selpk.c
398 ## RFC931 identification.
399 pkginclude_HEADERS += ident.h
400 libmLib_la_SOURCES += ident.c
402 ## Nonblocking connections.
403 pkginclude_HEADERS += conn.h
404 libmLib_la_SOURCES += conn.c
407 pkginclude_HEADERS += sig.h
408 libmLib_la_SOURCES += sig.c
411 pkginclude_HEADERS += bres.h
414 libmLib_la_SOURCES += bres-adns.c
416 libmLib_la_SOURCES += bres.c
417 pkglibexec_PROGRAMS += bres
418 bres_SOURCES = bres.c
419 bres_CPPFLAGS = -DBRES_STANDALONE $(AM_CPPFLAGS)
423 ###--------------------------------------------------------------------------
424 ### Testing and debugging.
427 pkginclude_HEADERS += trace.h
428 libmLib_la_SOURCES += trace.c traceopt.c
431 pkginclude_HEADERS += track.h
432 libmLib_la_SOURCES += track.c
435 pkginclude_HEADERS += testrig.h
436 libmLib_la_SOURCES += testrig.c
438 ###--------------------------------------------------------------------------
444 (cd man && $(MAKE) install-man)
446 (cd man && $(MAKE) uninstall-man)
447 .PHONY: install-man uninstall-man
450 ###--------------------------------------------------------------------------
455 echo $(VERSION) >$(distdir)/RELEASE
457 ## Additional build tools.
458 EXTRA_DIST += config/confsubst
459 EXTRA_DIST += config/auto-version
460 EXTRA_DIST += config/maninst
462 ###--------------------------------------------------------------------------
466 EXTRA_DIST += debian/rules debian/copyright
467 EXTRA_DIST += debian/control debian/changelog
468 EXTRA_DIST += debian/mlib2.install
469 EXTRA_DIST += debian/mlib2-adns.install
470 EXTRA_DIST += debian/mlib-dev.install
471 EXTRA_DIST += debian/mlib-bin.install
473 ##----- That's all, folks ---------------------------------------------------