X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/74c50df9aca7e5416d8e7d3d2c8f385ff103b081..d2679863cf27b0812a4b88397be1ebf0b1319305:/Makefile.am diff --git a/Makefile.am b/Makefile.am index 29080c22..7ffaa53c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,131 +1,142 @@ ### -*-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 --------------------------------------------------