Merge branch 'mdw/cpu-dispatch'
[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) $(mLib_LIBS)
39 libcatacomb_la_SOURCES =
40
41 ## Basic utilities.
42 SUBDIRS += base
43 libcatacomb_la_LIBADD += base/libbase.la
44
45 ## Mathematical infrastructure.
46 SUBDIRS += math
47 libcatacomb_la_LIBADD += math/libmath.la
48
49 ## Symmetric cryptography.
50 SUBDIRS += symm
51 libcatacomb_la_LIBADD += symm/libsymm.la
52
53 ## Key management.
54 SUBDIRS += key
55 libcatacomb_la_LIBADD += key/libkey.la
56
57 ## Miscellaneous cryptography.
58 SUBDIRS += misc
59 libcatacomb_la_LIBADD += misc/libmisc.la
60
61 ## Public-key cryptography.
62 SUBDIRS += pub
63 libcatacomb_la_LIBADD += pub/libpub.la
64
65 ## Random number generators and related functionality.
66 SUBDIRS += rand
67 libcatacomb_la_LIBADD += rand/librand.la
68
69 ## At this point, we should construct the library.
70 SUBDIRS += .
71
72 ###--------------------------------------------------------------------------
73 ### Ancillary programs.
74
75 SUBDIRS += progs
76
77 ###--------------------------------------------------------------------------
78 ### The pkg-config file.
79
80 pkgconfigdir = $(libdir)/pkgconfig
81 pkgconfig_DATA = catacomb.pc
82 EXTRA_DIST += catacomb.pc.in
83 CLEANFILES += catacomb.pc
84
85 catacomb.pc: catacomb.pc.in Makefile
86 $(SUBST) $(srcdir)/catacomb.pc.in >$@.new $(SUBSTITUTIONS) && \
87 mv $@.new $@
88
89 ###--------------------------------------------------------------------------
90 ### Release tweaking.
91
92 ## Release number.
93 dist-hook::
94 echo $(VERSION) >$(distdir)/RELEASE
95
96 ## Additional build tools.
97 EXTRA_DIST += build-setup
98 EXTRA_DIST += config/auto-version
99 EXTRA_DIST += config/confsubst
100
101 ## Documentation files.
102 EXTRA_DIST += README.cipher
103 EXTRA_DIST += README.hash
104 EXTRA_DIST += README.mp
105 EXTRA_DIST += README.random
106
107 ###--------------------------------------------------------------------------
108 ### Debian.
109
110 ## General stuff.
111 EXTRA_DIST += debian/rules
112 EXTRA_DIST += debian/control
113 EXTRA_DIST += debian/changelog
114 EXTRA_DIST += debian/copyright
115 EXTRA_DIST += debian/compat
116 EXTRA_DIST += debian/source/format
117
118 ## catacomb2
119 EXTRA_DIST += debian/catacomb2.install
120
121 ## catacomb-bin
122 EXTRA_DIST += debian/catacomb-bin.install
123 EXTRA_DIST += debian/catacomb-bin.prerm
124 EXTRA_DIST += debian/catacomb-bin.postinst
125 EXTRA_DIST += debian/catacomb-bin.config
126 EXTRA_DIST += debian/catacomb-bin.templates
127
128 ## catacomb-dev
129 EXTRA_DIST += debian/catacomb-dev.install
130
131 ###----- That's all, folks --------------------------------------------------