Merge branch 'master' of git.distorted.org.uk:~mdw/publish/public-git/catacomb
[catacomb] / Makefile.am
1 ### -*-makefile-*-
2 ###
3 ### Build script for Catacomb
4 ###
5 ### (c) 2013 Straylight/Edgeware
6 ###
7
8 ###----- Licensing notice ---------------------------------------------------
9 ###
10 ### This file is part of Catacomb.
11 ###
12 ### Catacomb is free software; you can redistribute it and/or modify
13 ### it under the terms of the GNU Library General Public License as
14 ### published by the Free Software Foundation; either version 2 of the
15 ### License, or (at your option) any later version.
16 ###
17 ### Catacomb is distributed in the hope that it will be useful,
18 ### but WITHOUT ANY WARRANTY; without even the implied warranty of
19 ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 ### GNU Library General Public License for more details.
21 ###
22 ### You should have received a copy of the GNU Library General Public
23 ### License along with Catacomb; if not, write to the Free
24 ### Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
25 ### MA 02111-1307, USA.
26
27 include $(top_srcdir)/vars.am
28 ACLOCAL_AMFLAGS = -Im4
29
30 SUBDIRS =
31
32 ###--------------------------------------------------------------------------
33 ### The main library.
34
35 lib_LTLIBRARIES = libcatacomb.la
36 libcatacomb_la_LDFLAGS = -version-info $(LIBTOOL_VERSION_INFO) \
37 -no-undefined
38 libcatacomb_la_LIBADD = $(MATHLIBS) $(PIXIE_LIBS) $(CATACOMB_LIBS) \
39 $(mLib_LIBS)
40 libcatacomb_la_SOURCES =
41
42 ## Basic utilities.
43 SUBDIRS += base
44 libcatacomb_la_LIBADD += base/libbase.la
45
46 ## Mathematical infrastructure.
47 SUBDIRS += math
48 libcatacomb_la_LIBADD += math/libmath.la
49
50 ## Symmetric cryptography.
51 SUBDIRS += symm
52 libcatacomb_la_LIBADD += symm/libsymm.la
53
54 ## Key management.
55 SUBDIRS += key
56 libcatacomb_la_LIBADD += key/libkey.la
57
58 ## Miscellaneous cryptography.
59 SUBDIRS += misc
60 libcatacomb_la_LIBADD += misc/libmisc.la
61
62 ## Public-key cryptography.
63 SUBDIRS += pub
64 libcatacomb_la_LIBADD += pub/libpub.la
65
66 ## Random number generators and related functionality.
67 SUBDIRS += rand
68 libcatacomb_la_LIBADD += rand/librand.la
69
70 ## At this point, we should construct the library.
71 SUBDIRS += .
72
73 ###--------------------------------------------------------------------------
74 ### Ancillary programs.
75
76 SUBDIRS += progs
77
78 ###--------------------------------------------------------------------------
79 ### The pkg-config file.
80
81 pkgconfigdir = $(libdir)/pkgconfig
82 pkgconfig_DATA = catacomb.pc
83 EXTRA_DIST += catacomb.pc.in
84 CLEANFILES += catacomb.pc
85
86 catacomb.pc: catacomb.pc.in Makefile
87 $(SUBST) $(srcdir)/catacomb.pc.in >$@.new $(SUBSTITUTIONS) && \
88 mv $@.new $@
89
90 ###--------------------------------------------------------------------------
91 ### Release tweaking.
92
93 ## Release number.
94 dist-hook::
95 echo $(VERSION) >$(distdir)/RELEASE
96
97 ## Additional build tools.
98 EXTRA_DIST += build-setup
99 EXTRA_DIST += config/auto-version
100 EXTRA_DIST += config/confsubst
101
102 ## Documentation files.
103 EXTRA_DIST += README.cipher
104 EXTRA_DIST += README.hash
105 EXTRA_DIST += README.mp
106 EXTRA_DIST += README.random
107
108 ###--------------------------------------------------------------------------
109 ### Debian.
110
111 ## General stuff.
112 EXTRA_DIST += debian/rules
113 EXTRA_DIST += debian/control
114 EXTRA_DIST += debian/changelog
115 EXTRA_DIST += debian/copyright
116 EXTRA_DIST += debian/compat
117 EXTRA_DIST += debian/source/format
118
119 ## catacomb2
120 EXTRA_DIST += debian/catacomb2.install
121
122 ## catacomb-bin
123 EXTRA_DIST += debian/catacomb-bin.install
124 EXTRA_DIST += debian/catacomb-bin.prerm
125 EXTRA_DIST += debian/catacomb-bin.postinst
126 EXTRA_DIST += debian/catacomb-bin.config
127 EXTRA_DIST += debian/catacomb-bin.templates
128
129 ## catacomb-dev
130 EXTRA_DIST += debian/catacomb-dev.install
131
132 ###----- That's all, folks --------------------------------------------------