chiark / gitweb /
Infrastructure: Split the files into subdirectories.
[mLib] / struct / Makefile.am
diff --git a/struct/Makefile.am b/struct/Makefile.am
new file mode 100644 (file)
index 0000000..280e52d
--- /dev/null
@@ -0,0 +1,123 @@
+### -*-makefile-*-
+###
+### Build script for data structures
+###
+### (c) 2009 Straylight/Edgeware
+###
+
+###----- Licensing notice ---------------------------------------------------
+###
+### This file is part of the mLib utilities library.
+###
+### mLib is free software; you can redistribute it and/or modify
+### it under the terms of the GNU Library General Public License as
+### published by the Free Software Foundation; either version 2 of the
+### License, or (at your option) any later version.
+###
+### mLib is distributed in the hope that it will be useful,
+### but WITHOUT ANY WARRANTY; without even the implied warranty of
+### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+### GNU Library General Public License for more details.
+###
+### You should have received a copy of the GNU Library General Public
+### License along with mLib; if not, write to the Free
+### Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+### MA 02111-1307, USA.
+
+include $(top_srcdir)/vars.am
+
+noinst_LTLIBRARIES      = libstruct.la
+libstruct_la_SOURCES    =
+
+###--------------------------------------------------------------------------
+### Component files.
+
+## Dynamic strings.
+pkginclude_HEADERS     += dstr.h dspool.h
+libstruct_la_SOURCES   += dstr.c dstr-putf.c dspool.c
+LIBMANS                        += dstr.3 dspool.3
+
+## Buffers.
+pkginclude_HEADERS     += buf.h
+libstruct_la_SOURCES   += buf.c buf-dstr.c
+LIBMANS                        += buf.3
+
+## Dynamic arrays.
+pkginclude_HEADERS     += darray.h
+libstruct_la_SOURCES   += darray.c
+LIBMANS                        += darray.3
+
+CLEANFILES             += da.out
+tests:: darray.t da.in da.ref
+       ./darray.t <da.in >da.out
+       cmp da.out da.ref
+       @echo "darray OK"
+
+check_PROGRAMS         += darray.t
+darray_t_SOURCES        = da-test.c
+darray_t_CPPFLAGS       = $(TEST_CPPFLAGS)
+darray_t_LDFLAGS        = -static
+
+EXTRA_DIST             += da-gtest
+CLEANFILES             += da.in
+da.in: da-gtest
+       perl $(srcdir)/da-gtest 10000 >$@.new && mv $@.new $@
+
+EXTRA_DIST             += da-ref
+CLEANFILES             += da.ref
+da.ref: da-ref da.in
+       perl $(srcdir)/da-ref <da.in >$@.new && mv $@.new $@
+
+## Hash tables.
+pkginclude_HEADERS     += hash.h
+libstruct_la_SOURCES   += hash.c
+LIBMANS                        += hash.3
+
+## Symbol tables.
+pkginclude_HEADERS     += sym.h
+libstruct_la_SOURCES   += sym.c
+LIBMANS                        += sym.3
+
+CLEANFILES             += sym.out
+tests:: sym.t sym.in sym.ref
+       ./sym.t <sym.in >sym.out
+       cmp sym.out sym.ref
+       @echo "sym OK"
+
+check_PROGRAMS         += sym.t
+sym_t_SOURCES           = sym-test.c
+sym_t_CPPFLAGS          = $(TEST_CPPFLAGS)
+sym_t_LDFLAGS           = -static
+
+EXTRA_DIST             += sym-gtest
+CLEANFILES             += sym.in
+sym.in: sym-gtest
+       perl $(srcdir)/sym-gtest 10000 >$@.new && mv $@.new $@
+
+EXTRA_DIST             += sym-ref
+CLEANFILES             += sym.ref
+sym.ref: sym-ref sym.in
+       perl $(srcdir)/sym-ref <sym.in >$@.new && mv $@.new $@
+
+## Atoms.
+pkginclude_HEADERS     += atom.h
+libstruct_la_SOURCES   += atom.c
+LIBMANS                        += atom.3
+
+## Association tables.
+pkginclude_HEADERS     += assoc.h
+libstruct_la_SOURCES   += assoc.c
+LIBMANS                        += assoc.3
+
+CLEANFILES             += assoc.out
+tests:: assoc.t sym.in sym.ref
+       ./assoc.t <sym.in >assoc.out
+       cmp assoc.out sym.ref
+       @echo "sym OK"
+
+check_PROGRAMS         += assoc.t
+assoc_t_SOURCES                 = assoc-test.c
+assoc_t_CPPFLAGS        = $(TEST_CPPFLAGS)
+assoc_t_LDFLAGS                 = -static
+
+###----- That's all, folks --------------------------------------------------