X-Git-Url: https://git.distorted.org.uk/~mdw/mLib/blobdiff_plain/173ff44a439dc7cf51a3f7a433c4d0d444b59293..236f657b6dab66f31f4902cecfc03b4673f5bb98:/codec/Makefile.am diff --git a/codec/Makefile.am b/codec/Makefile.am index 71a4e48..968ebf9 100644 --- a/codec/Makefile.am +++ b/codec/Makefile.am @@ -32,66 +32,54 @@ libcodec_la_SOURCES = ###-------------------------------------------------------------------------- ### Component files. +## Codec base. +pkginclude_HEADERS += codec.h +libcodec_la_SOURCES += codec.c +LIBMANS += codec.3 + +## null +libcodec_la_SOURCES += null-codec.c + +## Simple binary base-conversion codecs. +pkginclude_HEADERS += base64.h base32.h hex.h +libcodec_la_SOURCES += baseconv.c +LIBMANS += base64.3 + ## form-urlencoded pkginclude_HEADERS += url.h libcodec_la_SOURCES += url.c LIBMANS += url.3 -## base64 -pkginclude_HEADERS += base64.h -libcodec_la_SOURCES += base64.c -LIBMANS += base64.3 - -EXTRA_DIST += base64.in base64.ref -CLEANFILES += base64.out -tests:: base64.t base64.in base64.ref - ./base64.t <$(srcdir)/base64.in >base64.out - cmp base64.out $(srcdir)/base64.ref - ./base64.t -d <$(srcdir)/base64.ref >base64.out - cmp base64.out $(srcdir)/base64.in - @echo "base64 OK" - -check_PROGRAMS += base64.t -base64_t_SOURCES = base64.c -base64_t_CPPFLAGS = $(TEST_CPPFLAGS) -base64_t_LDFLAGS = -static - -## base32 -pkginclude_HEADERS += base32.h -libcodec_la_SOURCES += base32.c -LIBMANS += base32.3 - -EXTRA_DIST += base32.in base32.ref -CLEANFILES += base32.out -tests:: base32.t base32.in base32.ref - ./base32.t <$(srcdir)/base32.in >base32.out - cmp base32.out $(srcdir)/base32.ref - ./base32.t -d <$(srcdir)/base32.ref >base32.out - cmp base32.out $(srcdir)/base32.in - @echo "base32 OK" - -check_PROGRAMS += base32.t -base32_t_SOURCES = base32.c -base32_t_CPPFLAGS = $(TEST_CPPFLAGS) -base32_t_LDFLAGS = -static +## Test program. +bin_PROGRAMS += bincode +PROGMANS += bincode.1 -## hex -pkginclude_HEADERS += hex.h -libcodec_la_SOURCES += hex.c -LIBMANS += hex.3 +bincode_SOURCES = bincode.c +bincode_LDADD = libcodec.la +bincode_LDADD += ../mem/libmem.la +bincode_LDADD += ../struct/libstruct.la +bincode_LDADD += $(UTIL_LIBS) -EXTRA_DIST += hex.in hex.ref -CLEANFILES += hex.out -tests:: hex.t hex.in hex.ref - ./hex.t <$(srcdir)/hex.in >hex.out - cmp hex.out $(srcdir)/hex.ref - ./hex.t -d <$(srcdir)/hex.ref >hex.out - cmp hex.out $(srcdir)/hex.in - @echo "hex OK" +EXTRA_DIST += base64.in base32.in hex.in +EXTRA_DIST += base64.ref base32.ref hex.ref +CLEANFILES += base64.out base32.out hex.out -check_PROGRAMS += hex.t -hex_t_SOURCES = hex.c -hex_t_CPPFLAGS = $(TEST_CPPFLAGS) -hex_t_LDFLAGS = -static +TEST_CODECS = base64 base32 hex +tests:: bincode + set -e; \ + for codec in $(TEST_CODECS); do \ + case $$codec in \ + hex) flags=lowerc,ignjunk width=64 ;; \ + base32) flags=ignjunk width=32 ;; \ + *) flags=ignjunk width=64 ;; \ + esac; \ + ./bincode -e -i'\t' -f$$flags -m$$width -o$$codec.out $$codec \ + $(srcdir)/$$codec.in; \ + cmp $$codec.out $(srcdir)/$$codec.ref; \ + ./bincode -d -fignjunk -f$$flags -o$$codec.out $$codec \ + $(srcdir)/$$codec.ref; \ + cmp $$codec.out $(srcdir)/$$codec.in; \ + echo "$$codec OK"; \ + done ###----- That's all, folks --------------------------------------------------