Release 2.2.2.1.
[mLib] / hash / Makefile.am
1 ### -*-makefile-*-
2 ###
3 ### Build script for hashing
4 ###
5 ### (c) 2009 Straylight/Edgeware
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
27 include $(top_srcdir)/vars.am
28
29 noinst_LTLIBRARIES = libhash.la
30 libhash_la_SOURCES =
31 libhash_la_LIBADD =
32
33 ###--------------------------------------------------------------------------
34 ### Component files.
35
36 ## CRC32.
37 pkginclude_HEADERS += crc32.h
38 libhash_la_SOURCES += crc32.c
39 LIBMANS += crc32.3
40
41 bin_PROGRAMS += crc-mktab
42 crc_mktab_SOURCES = crc-mktab.c
43 crc_mktab_LDADD = $(UTIL_LIBS)
44 PROGMANS += crc-mktab.1
45
46 libhash_la_SOURCES += $(precomp)/crc32-tab.c
47 PRECOMPS += $(precomp)/crc32-tab.c
48 if !CROSS_COMPILING
49 $(precomp)/crc32-tab.c:
50 @$(mkdir_p) $(precomp)
51 @$(MAKE) crc-mktab$e
52 $(AM_V_GEN)./crc-mktab -o $@.new \
53 -p0x04c11db7 -b32 -B8 -r -c \
54 -scrc32_table -icrc32.h -tuint32 && \
55 mv $@.new $@
56 endif
57
58 check_PROGRAMS += t/crc32.t
59 t_crc32_t_SOURCES = t/crc32-test.c
60 t_crc32_t_CPPFLAGS = $(TEST_CPPFLAGS)
61 t_crc32_t_LDFLAGS = -static
62
63 EXTRA_DIST += t/crc32.tests
64
65 ## Universal hashing.
66 pkginclude_HEADERS += unihash.h
67 noinst_LTLIBRARIES += libunihash.la
68 libunihash_la_SOURCES = unihash.c
69 libhash_la_LIBADD += libunihash.la
70 LIBMANS += unihash.3
71
72 bin_PROGRAMS += unihash-mkstatic
73 unihash_mkstatic_SOURCES = unihash-mkstatic.c
74 unihash_mkstatic_LDADD = libunihash.la $(UTIL_LIBS)
75 PROGMANS += unihash-mkstatic.1
76
77 libhash_la_SOURCES += $(precomp)/unihash-global.c
78 PRECOMPS += $(precomp)/unihash-global.c
79 if !CROSS_COMPILING
80 $(precomp)/unihash-global.c:
81 @$(mkdir_p) $(precomp)
82 @$(MAKE) unihash-mkstatic$e
83 $(AM_V_GEN)./unihash-mkstatic -c -sunihash_global -iunihash.h \
84 -o$@.new && mv $@.new $@
85 endif
86
87 check_PROGRAMS += t/unihash.t
88 t_unihash_t_SOURCES = t/unihash-test.c
89 t_unihash_t_CPPFLAGS = $(TEST_CPPFLAGS)
90 t_unihash_t_LDFLAGS = -static
91
92 EXTRA_DIST += t/unihash-testgen.py
93
94 ###----- That's all, folks --------------------------------------------------