X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/d7b9d12cf26418dc0777d58ea2a608767c2b926d..a938be516ed8fd8313ff3d061dd4b0f2d9acfa0e:/Makefile.am diff --git a/Makefile.am b/Makefile.am index 5f91699e..7ffaa53c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,180 +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') +### This file is part of Catacomb. ### -### `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. +### 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. ### -### `Common' is distributed in the hope that it will be useful, +### 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. +### GNU Library 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. +### 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 = -dist_pkgdata_SCRIPTS = -pkgdata_DATA = -dist_pkgdata_DATA = +include $(top_srcdir)/vars.am +ACLOCAL_AMFLAGS = -Im4 -EXTRA_DIST = -CLEANFILES = +SUBDIRS = ###-------------------------------------------------------------------------- -### Handy variables. +### Top-level library. -confsubst = $(srcdir)/confsubst.in -mkdir_p = $(srcdir)/config/install-sh -d - -V_SUBST = $(V_SUBST_$(V)) -V_SUBST_ = $(V_SUBST_$(AM_DEFAULT_VERBOSITY)) -V_SUBST_0 = @echo " SUBST $@"; -SUBST = $(V_SUBST)$(confsubst) +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 - $(SUBST) $(srcdir)/mklinks.in >$@.new \ - pkgdatadir=$(pkgdatadir) VERSION=$(VERSION) - $(AM_V_at)chmod +x $@.new - $(AM_V_at)mv $@.new $@ - -## findlinks -bin_SCRIPTS += findlinks -CLEANFILES += findlinks -EXTRA_DIST += findlinks.in - -findlinks: findlinks.in Makefile - $(SUBST) $(srcdir)/findlinks.in >$@.new \ - pkgdatadir=$(pkgdatadir) VERSION=$(VERSION) - $(AM_V_at)chmod +x $@.new - $(AM_V_at)mv $@.new $@ - -## mdw-setup -bin_SCRIPTS += mdw-setup -EXTRA_DIST += mdw-setup +### Package-configuration file. -###-------------------------------------------------------------------------- -### Files to install. - -## Licences. -dist_pkgdata_DATA += GPL-1 GPL-2 GPL-3 -dist_pkgdata_DATA += LGPL-2 LGPL-2.1 LGPL-3 -dist_pkgdata_DATA += AGPL-3 -dist_pkgdata_DATA += gpl-2.0.tex gpl-2.0.texi -dist_pkgdata_DATA += lgpl-2.0.tex lgpl-2.0.texi -dist_pkgdata_DATA += lgpl-2.1.tex lgpl-2.1.texi -dist_pkgdata_DATA += gpl-3.0.tex gpl-3.0.texi -dist_pkgdata_DATA += lgpl-3.0.tex lgpl-3.0.texi -dist_pkgdata_DATA += agpl-3.0.tex agpl-3.0.texi - -install-data-hook:: - cd $(DESTDIR)$(pkgdatadir) && $(LN_S) -f GPL-2 COPYING - cd $(DESTDIR)$(pkgdatadir) && $(LN_S) -f LGPL-2 COPYING.LIB - cd $(DESTDIR)$(pkgdatadir) && $(LN_S) -f gpl-2.0.tex gpl.tex - cd $(DESTDIR)$(pkgdatadir) && $(LN_S) -f lgpl-2.0.tex lgpl.tex - cd $(DESTDIR)$(pkgdatadir) && $(LN_S) -f gpl-2.0.texi gpl.texi - cd $(DESTDIR)$(pkgdatadir) && $(LN_S) -f lgpl-2.0.texi lgpl.texi - -uninstall-hook:: - cd $(DESTDIR)$(pkgdatadir) && rm -f COPYING COPYING.LIB - cd $(DESTDIR)$(pkgdatadir) && \ - rm -f gpl.tex gpl.texi lgpl.tex lgpl.texi - -## Documentation. -dist_pkgdata_DATA += INSTALL -dist_pkgdata_DATA += texinice.tex - -## Useful code. -dist_pkgdata_DATA += mdwopt.c mdwopt.h -dist_pkgdata_DATA += getdate.y getdate.h - -## Scripts. -dist_pkgdata_SCRIPTS += install-ac -dist_pkgdata_SCRIPTS += maninst - -## Python support stuff. -dist_pkgdata_DATA += mdwsetup.py -dist_pkgdata_DATA += pysetup.mk - -## confsubst -pkgdata_SCRIPTS += confsubst -CLEANFILES += confsubst -EXTRA_DIST += confsubst.in - -confsubst: confsubst.in Makefile - $(SUBST) $(srcdir)/confsubst.in >$@.new VERSION=$(VERSION) - $(AM_V_at)chmod +x $@.new - $(AM_V_at)mv $@.new $@ - -## auto-version -pkgdata_SCRIPTS += auto-version -CLEANFILES += auto-version -EXTRA_DIST += auto-version.in - -auto-version: auto-version.in Makefile - $(SUBST) $(srcdir)/auto-version.in >$@.new VERSION=$(VERSION) - $(AM_V_at)chmod +x $@.new - $(AM_V_at)mv $@.new $@ - -## Testsuites. -dist_pkgdata_DATA += autotest.am -dist_pkgdata_DATA += testsuite.at - -## Autoconf snippets. -EXTRA_DIST += aclocal.glob - -install-data-hook:: - $(mkdir_p) $(DESTDIR)$(aclocaldir) - $(srcdir)/install-ac install \ - $(srcdir)/aclocal.glob $(DESTDIR)$(aclocaldir) - -uninstall-hook:: - $(srcdir)/install-ac rm \ - $(srcdir)/aclocal.glob $(DESTDIR)$(aclocaldir) +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = catacomb.pc +EXTRA_DIST += catacomb.pc.in +CLEANFILES += catacomb.pc + +catacomb.pc: catacomb.pc.in Makefile + $(SUBST) $(srcdir)/catacomb.pc.in >$@.new $(SUBSTITUTIONS) && \ + mv $@.new $@ ###-------------------------------------------------------------------------- -### Documentation. +### Subdirectories. +### +### Note: There are implicit dependencies between the subdirectories. Be +### careful about reordering them. + +## Basic utilities. +SUBDIRS += base +libcatacomb_la_LIBADD += base/libbase.la + +## Mathematical infrastructure. +SUBDIRS += math +libcatacomb_la_LIBADD += math/libmath.la + +## Symmetric cryptography. +SUBDIRS += symm +libcatacomb_la_LIBADD += symm/libsymm.la -info_TEXINFOS = common.texi +## Key management. +SUBDIRS += key +libcatacomb_la_LIBADD += key/libkey.la + +## Miscellaneous cryptography. +SUBDIRS += misc +libcatacomb_la_LIBADD += misc/libmisc.la + +## Public-key cryptography. +SUBDIRS += pub +libcatacomb_la_LIBADD += pub/libpub.la + +## Random number generators and related functionality. +SUBDIRS += rand +libcatacomb_la_LIBADD += rand/librand.la + +## At this point, we should construct the library. +SUBDIRS += . ###-------------------------------------------------------------------------- -### Other special tweaks. +### Ancillary programs. + +SUBDIRS += progs -## Make `make distcheck' work. -DISTCHECK_CONFIGURE_FLAGS = \ - --with-aclocaldir='$${prefix}/share/aclocal' +###-------------------------------------------------------------------------- +### Distribution. -## 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/compat -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 --------------------------------------------------