Commit | Line | Data |
---|---|---|
18c831dc MW |
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 | ||
173ff44a MW |
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) | |
18c831dc MW |
51 | @$(build_util_libs) |
52 | @$(MAKE) crc-mktab$(EXEEXT) | |
53 | ./crc-mktab -o $@.new \ | |
54 | -p0x04c11db7 -b32 -B8 -r -c \ | |
55 | -scrc32_table -icrc32.h -tuint32 && \ | |
56 | mv $@.new $@ | |
173ff44a | 57 | endif |
18c831dc | 58 | |
7cf5c72a MW |
59 | check_PROGRAMS += t/crc32.t |
60 | t_crc32_t_SOURCES = t/crc32-test.c | |
61 | t_crc32_t_CPPFLAGS = $(TEST_CPPFLAGS) | |
62 | t_crc32_t_LDFLAGS = -static | |
63 | ||
64 | EXTRA_DIST += t/crc32.tests | |
65 | ||
18c831dc MW |
66 | ## Universal hashing. |
67 | pkginclude_HEADERS += unihash.h | |
68 | noinst_LTLIBRARIES += libunihash.la | |
69 | libunihash_la_SOURCES = unihash.c | |
70 | libhash_la_LIBADD += libunihash.la | |
71 | LIBMANS += unihash.3 | |
72 | ||
73 | bin_PROGRAMS += unihash-mkstatic | |
74 | unihash_mkstatic_SOURCES = unihash-mkstatic.c | |
75 | unihash_mkstatic_LDADD = libunihash.la $(UTIL_LIBS) | |
76 | PROGMANS += unihash-mkstatic.1 | |
77 | ||
173ff44a MW |
78 | libhash_la_SOURCES += $(precomp)/unihash-global.c |
79 | PRECOMPS += $(precomp)/unihash-global.c | |
80 | if !CROSS_COMPILING | |
81 | $(precomp)/unihash-global.c: | |
82 | @$(mkdir_p) $(precomp) | |
18c831dc MW |
83 | @$(build_util_libs) |
84 | @$(MAKE) unihash-mkstatic$(EXEEXT) | |
85 | ./unihash-mkstatic -c -sunihash_global -iunihash.h -o$@.new && \ | |
86 | mv $@.new $@ | |
173ff44a | 87 | endif |
18c831dc | 88 | |
7cf5c72a MW |
89 | check_PROGRAMS += t/unihash.t |
90 | t_unihash_t_SOURCES = t/unihash-test.c | |
91 | t_unihash_t_CPPFLAGS = $(TEST_CPPFLAGS) | |
92 | t_unihash_t_LDFLAGS = -static | |
18c831dc | 93 | |
7cf5c72a | 94 | EXTRA_DIST += t/unihash-testgen.py |
18c831dc MW |
95 | |
96 | ###----- That's all, folks -------------------------------------------------- |