pub/keycheck-mp.c (keycheck_prime): Use `pgen_primep' to do the legwork.
[catacomb] / Makefile.am
index 29080c2..7ffaa53 100644 (file)
 ### -*-makefile-*-
 ###
-### Building the distribution
+### Build script for Catacomb
 ###
-### (c) 1997 Mark Wooding
+### (c) 2013 Straylight/Edgeware
 ###
 
 ###----- Licensing notice ---------------------------------------------------
 ###
-### This file is part of the Common Files Distribution (`common')
-### 
-### `Common' is free software; you can redistribute it and/or modify
-### it under the terms of the GNU General Public License as published by
-### the Free Software Foundation; either version 2 of the License, or
-### (at your option) any later version.
-### 
-### `Common' is distributed in the hope that it will be useful,
+### This file is part of Catacomb.
+###
+### Catacomb 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.
+###
+### Catacomb 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 General Public License for more details.
-### 
-### You should have received a copy of the GNU General Public License
-### along with `common'; if not, write to the Free Software Foundation,
-### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+### GNU Library General Public License for more details.
+###
+### You should have received a copy of the GNU Library General Public
+### License along with Catacomb; if not, write to the Free
+### Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+### MA 02111-1307, USA.
 
-bin_SCRIPTS             =
-pkgdata_SCRIPTS                 =
-pkgdata_DATA            =
+include $(top_srcdir)/vars.am
+ACLOCAL_AMFLAGS                 = -Im4
 
-EXTRA_DIST              =
-CLEANFILES              =
+SUBDIRS                         =
 
 ###--------------------------------------------------------------------------
-### Handy variables.
+### Top-level library.
 
-confsubst = $(srcdir)/confsubst
-mkdir_p = $(srcdir)/config/install-sh -d
+lib_LTLIBRARIES                 = libcatacomb.la
+libcatacomb_la_LDFLAGS  = -version-info $(LIBTOOL_VERSION_INFO) \
+                               -no-undefined
+libcatacomb_la_SOURCES  =
+libcatacomb_la_LIBADD   = $(MATHLIBS) $(PIXIE_LIBS) $(CATACOMB_LIBS) \
+                               $(mLib_LIBS)
 
 ###--------------------------------------------------------------------------
-### Main scripts.
-
-## mklinks
-bin_SCRIPTS            += mklinks
-CLEANFILES             += mklinks
-EXTRA_DIST             += mklinks.in
-
-mklinks: mklinks.in Makefile
-       $(confsubst) $(srcdir)/mklinks.in >$@.new \
-               pkgdatadir=$(pkgdatadir) VERSION=$(VERSION)
-       chmod +x $@.new
-       mv $@.new $@
-
-## findlinks
-bin_SCRIPTS            += findlinks
-CLEANFILES             += findlinks
-EXTRA_DIST             += findlinks.in
-
-findlinks: findlinks.in Makefile
-       $(confsubst) $(srcdir)/findlinks.in >$@.new \
-               pkgdatadir=$(pkgdatadir) VERSION=$(VERSION)
-       chmod +x $@.new
-       mv $@.new $@
-
-## mdw-setup
-bin_SCRIPTS            += mdw-setup
-EXTRA_DIST             += mdw-setup
+### Package-configuration file.
 
-###--------------------------------------------------------------------------
-### Files to install.
+pkgconfigdir            = $(libdir)/pkgconfig
+pkgconfig_DATA          = catacomb.pc
+EXTRA_DIST             += catacomb.pc.in
+CLEANFILES             += catacomb.pc
 
-## Licences.
-pkgdata_DATA           += COPYING COPYING.LIB
-pkgdata_DATA           += gpl.tex lgpl.tex gpl.texi lgpl.texi
+catacomb.pc: catacomb.pc.in Makefile
+       $(SUBST) $(srcdir)/catacomb.pc.in >$@.new $(SUBSTITUTIONS) && \
+               mv $@.new $@
 
-## Documentation.
-pkgdata_DATA           += INSTALL
-pkgdata_DATA           += texinice.tex
+###--------------------------------------------------------------------------
+### Subdirectories.
+###
+### Note: There are implicit dependencies between the subdirectories.  Be
+### careful about reordering them.
+
+## Basic utilities.
+SUBDIRS                        += base
+libcatacomb_la_LIBADD  += base/libbase.la
 
-## Useful code.
-pkgdata_DATA           += mdwopt.c mdwopt.h
-pkgdata_DATA           += getdate.y getdate.h
+## Mathematical infrastructure.
+SUBDIRS                        += math
+libcatacomb_la_LIBADD  += math/libmath.la
 
-## Scripts.
-pkgdata_SCRIPTS                += install-ac
-pkgdata_SCRIPTS                += maninst
-pkgdata_SCRIPTS                += confsubst
+## Symmetric cryptography.
+SUBDIRS                        += symm
+libcatacomb_la_LIBADD  += symm/libsymm.la
 
-## Testsuites.
-pkgdata_DATA           += autotest.am
-pkgdata_DATA           += testsuite.at
+## Key management.
+SUBDIRS                        += key
+libcatacomb_la_LIBADD  += key/libkey.la
 
-EXTRA_DIST             += $(pkgdata_DATA)
-EXTRA_DIST             += $(pkgdata_SCRIPTS)
+## Miscellaneous cryptography.
+SUBDIRS                        += misc
+libcatacomb_la_LIBADD  += misc/libmisc.la
 
-## Autoconf snippets.
-EXTRA_DIST             += aclocal.glob
+## Public-key cryptography.
+SUBDIRS                        += pub
+libcatacomb_la_LIBADD  += pub/libpub.la
 
-install-data-hook::
-       $(mkdir_p) $(DESTDIR)$(aclocaldir)
-       $(srcdir)/install-ac install \
-                $(srcdir)/aclocal.glob $(DESTDIR)$(aclocaldir)
+## Random number generators and related functionality.
+SUBDIRS                        += rand
+libcatacomb_la_LIBADD  += rand/librand.la
 
-uninstall-hook::
-       $(srcdir)/install-ac rm \
-               $(srcdir)/aclocal.glob $(DESTDIR)$(aclocaldir)
+## At this point, we should construct the library.
+SUBDIRS                        += .
 
 ###--------------------------------------------------------------------------
-### Documentation.
+### Ancillary programs.
 
-info_TEXINFOS = common.texi
+SUBDIRS                        += progs
 
 ###--------------------------------------------------------------------------
-### Other special tweaks.
+### Distribution.
 
-## Make `make distcheck' work.
-DISTCHECK_CONFIGURE_FLAGS = \
-       --with-aclocaldir='$${prefix}/share/aclocal'
-
-## Distribute the release number.
+## Release number.
 dist-hook::
        echo $(VERSION) >$(distdir)/RELEASE
 
+## Additional build tools.
+EXTRA_DIST             += build-setup
+EXTRA_DIST             += config/auto-version
+EXTRA_DIST             += config/confsubst
+
+## Documentation files.
+EXTRA_DIST             += README.cipher
+EXTRA_DIST             += README.hash
+EXTRA_DIST             += README.mp
+EXTRA_DIST             += README.random
+
 ###--------------------------------------------------------------------------
 ### Debian.
 
-EXTRA_DIST             += debian/control
-EXTRA_DIST             += debian/copyright
+## General stuff.
 EXTRA_DIST             += debian/rules
+EXTRA_DIST             += debian/control
 EXTRA_DIST             += debian/changelog
+EXTRA_DIST             += debian/copyright
+EXTRA_DIST             += debian/compat
+EXTRA_DIST             += debian/source/format
+
+## catacomb2
+EXTRA_DIST             += debian/catacomb2.install
+EXTRA_DIST             += debian/catacomb2.symbols
+
+## catacomb-bin
+EXTRA_DIST             += debian/catacomb-bin.install
+EXTRA_DIST             += debian/catacomb-bin.prerm
+EXTRA_DIST             += debian/catacomb-bin.postinst
+EXTRA_DIST             += debian/catacomb-bin.config
+EXTRA_DIST             += debian/catacomb-bin.templates
+
+## catacomb-data
+EXTRA_DIST             += debian/catacomb-data.install
+
+## catacomb-dev
+EXTRA_DIST             += debian/catacomb-dev.install
 
 ###----- That's all, folks --------------------------------------------------