chiark / gitweb /
Infrastructure: Split the files into subdirectories.
[mLib] / hash / Makefile.am
CommitLineData
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
27include $(top_srcdir)/vars.am
28
29noinst_LTLIBRARIES = libhash.la
30libhash_la_SOURCES =
31libhash_la_LIBADD =
32
33###--------------------------------------------------------------------------
34### Component files.
35
36## CRC32.
37pkginclude_HEADERS += crc32.h
38libhash_la_SOURCES += crc32.c
39LIBMANS += crc32.3
40
41bin_PROGRAMS += crc-mktab
42crc_mktab_SOURCES = crc-mktab.c
43crc_mktab_LDADD = $(UTIL_LIBS)
44PROGMANS += crc-mktab.1
45
46libhash_la_SOURCES += crc32-tab.c
47CLEANFILES += crc32-tab.c
48crc32-tab.c:
49 @$(build_util_libs)
50 @$(MAKE) crc-mktab$(EXEEXT)
51 ./crc-mktab -o $@.new \
52 -p0x04c11db7 -b32 -B8 -r -c \
53 -scrc32_table -icrc32.h -tuint32 && \
54 mv $@.new $@
55
56## Universal hashing.
57pkginclude_HEADERS += unihash.h
58noinst_LTLIBRARIES += libunihash.la
59libunihash_la_SOURCES = unihash.c
60libhash_la_LIBADD += libunihash.la
61LIBMANS += unihash.3
62
63bin_PROGRAMS += unihash-mkstatic
64unihash_mkstatic_SOURCES = unihash-mkstatic.c
65unihash_mkstatic_LDADD = libunihash.la $(UTIL_LIBS)
66PROGMANS += unihash-mkstatic.1
67
68libhash_la_SOURCES += unihash-global.c
69CLEANFILES += unihash-global.c
70unihash-global.c:
71 @$(build_util_libs)
72 @$(MAKE) unihash-mkstatic$(EXEEXT)
73 ./unihash-mkstatic -c -sunihash_global -iunihash.h -o$@.new && \
74 mv $@.new $@
75
76check_PROGRAMS += unihash.t
77unihash_t_SOURCES = unihash.c
78unihash_t_CPPFLAGS = $(TEST_CPPFLAGS)
79unihash_t_LDFLAGS = -static
80
81tests:: unihash.t unihash.in
82 ./unihash.t -f unihash.in
83
84EXTRA_DIST += unihash-check.pl
85CLEANFILES += unihash.in
86unihash.in: unihash-check.pl
87 perl $(srcdir)/unihash-check.pl >$@.new && mv $@.new $@
88
89
90###----- That's all, folks --------------------------------------------------