968ebf9e3a1cffe880b51364557eb95f22fab0e5
[mLib] / codec / Makefile.am
1 ### -*-makefile-*-
2 ###
3 ### Build script for encoding and decoding
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 = libcodec.la
30 libcodec_la_SOURCES =
31
32 ###--------------------------------------------------------------------------
33 ### Component files.
34
35 ## Codec base.
36 pkginclude_HEADERS += codec.h
37 libcodec_la_SOURCES += codec.c
38 LIBMANS += codec.3
39
40 ## null
41 libcodec_la_SOURCES += null-codec.c
42
43 ## Simple binary base-conversion codecs.
44 pkginclude_HEADERS += base64.h base32.h hex.h
45 libcodec_la_SOURCES += baseconv.c
46 LIBMANS += base64.3
47
48 ## form-urlencoded
49 pkginclude_HEADERS += url.h
50 libcodec_la_SOURCES += url.c
51 LIBMANS += url.3
52
53 ## Test program.
54 bin_PROGRAMS += bincode
55 PROGMANS += bincode.1
56
57 bincode_SOURCES = bincode.c
58 bincode_LDADD = libcodec.la
59 bincode_LDADD += ../mem/libmem.la
60 bincode_LDADD += ../struct/libstruct.la
61 bincode_LDADD += $(UTIL_LIBS)
62
63 EXTRA_DIST += base64.in base32.in hex.in
64 EXTRA_DIST += base64.ref base32.ref hex.ref
65 CLEANFILES += base64.out base32.out hex.out
66
67 TEST_CODECS = base64 base32 hex
68 tests:: bincode
69 set -e; \
70 for codec in $(TEST_CODECS); do \
71 case $$codec in \
72 hex) flags=lowerc,ignjunk width=64 ;; \
73 base32) flags=ignjunk width=32 ;; \
74 *) flags=ignjunk width=64 ;; \
75 esac; \
76 ./bincode -e -i'\t' -f$$flags -m$$width -o$$codec.out $$codec \
77 $(srcdir)/$$codec.in; \
78 cmp $$codec.out $(srcdir)/$$codec.ref; \
79 ./bincode -d -fignjunk -f$$flags -o$$codec.out $$codec \
80 $(srcdir)/$$codec.ref; \
81 cmp $$codec.out $(srcdir)/$$codec.in; \
82 echo "$$codec OK"; \
83 done
84
85 ###----- That's all, folks --------------------------------------------------