gpg: Switch to a hash and CERT record based PKA system.
[gnupg.git] / common / Makefile.am
1 # Makefile for common gnupg modules
2 # Copyright (C) 2001, 2003, 2007, 2010 Free Software Foundation, Inc.
3 #
4 # This file is part of GnuPG.
5 #
6 # GnuPG is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # GnuPG is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, see <http://www.gnu.org/licenses/>.
18
19 ## Process this file with automake to produce Makefile.in
20
21 EXTRA_DIST = mkstrtable.awk exaudit.awk exstatus.awk ChangeLog-2011 \
22              audit-events.h status-codes.h README.jnlib ChangeLog.jnlib \
23              ChangeLog-2011.include w32info-rc.h.in gnupg.ico tls-ca.pem
24
25 noinst_LIBRARIES = libcommon.a libcommonpth.a libgpgrl.a \
26                    libcommontls.a libcommontlsnpth.a
27 if !HAVE_W32CE_SYSTEM
28 noinst_LIBRARIES += libsimple-pwquery.a
29 endif
30 noinst_PROGRAMS = $(jnlib_tests) $(module_tests) $(module_maint_tests)
31 TESTS = $(jnlib_tests) $(module_tests)
32
33 BUILT_SOURCES = audit-events.h status-codes.h
34
35 MAINTAINERCLEANFILES = audit-events.h status-codes.h
36
37 AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/intl
38
39 AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(LIBASSUAN_CFLAGS) $(KSBA_CFLAGS)
40
41 include $(top_srcdir)/am/cmacros.am
42
43 jnlib_sources = \
44         libjnlib-config.h \
45         types.h host2net.h dynload.h w32help.h \
46         mapstrings.c stringhelp.c stringhelp.h \
47         strlist.c strlist.h \
48         utf8conv.c utf8conv.h \
49         argparse.c argparse.h \
50         logging.c logging.h  \
51         dotlock.c dotlock.h  \
52         mischelp.c mischelp.h
53
54 if HAVE_W32_SYSTEM
55 jnlib_sources += w32-reg.c w32-afunix.c w32-afunix.h
56 endif
57
58
59 common_sources = \
60         common-defs.h \
61         util.h i18n.c i18n.h \
62         status.c status.h\
63         shareddefs.h \
64         openpgpdefs.h \
65         gc-opt-flags.h \
66         keyserver.h \
67         sexp-parse.h \
68         tlv.c tlv.h \
69         init.c init.h \
70         sexputil.c \
71         sysutils.c sysutils.h \
72         homedir.c \
73         gettime.c gettime.h \
74         yesno.c \
75         b64enc.c b64dec.c zb32.c \
76         convert.c \
77         percent.c \
78         mbox-util.c mbox-util.h \
79         miscellaneous.c \
80         xasprintf.c \
81         xreadline.c \
82         membuf.c membuf.h \
83         iobuf.c iobuf.h \
84         ttyio.c ttyio.h \
85         asshelp.c asshelp2.c asshelp.h \
86         exechelp.h \
87         signal.c \
88         audit.c audit.h \
89         srv.h \
90         dns-cert.c dns-cert.h \
91         pka.c pka.h \
92         localename.c \
93         session-env.c session-env.h \
94         userids.c userids.h \
95         openpgp-oid.c \
96         ssh-utils.c ssh-utils.h \
97         agent-opt.c \
98         helpfile.c
99
100 # Sources possible requiring a TLS library are put into a separate
101 # conveince library.
102 tls_sources = \
103         http.c http.h
104
105
106 # To make the code easier to read we have split home some code into
107 # separate source files.
108 if HAVE_W32_SYSTEM
109 if HAVE_W32CE_SYSTEM
110 common_sources += exechelp-w32ce.c
111 else
112 common_sources += exechelp-w32.c
113 endif
114 else
115 common_sources += exechelp-posix.c
116 endif
117
118 # Sources only useful without NPTH.
119 without_npth_sources = \
120         get-passphrase.c get-passphrase.h
121
122
123 libcommon_a_SOURCES = $(jnlib_sources) $(common_sources) $(without_npth_sources)
124 if USE_DNS_SRV
125 libcommon_a_SOURCES += srv.c
126 endif
127 libcommon_a_CFLAGS = $(AM_CFLAGS) $(LIBASSUAN_CFLAGS) -DWITHOUT_NPTH=1
128
129 libcommonpth_a_SOURCES = $(jnlib_sources) $(common_sources)
130 if USE_DNS_SRV
131 libcommonpth_a_SOURCES += srv.c
132 endif
133 libcommonpth_a_CFLAGS = $(AM_CFLAGS) $(LIBASSUAN_CFLAGS) $(NPTH_CFLAGS)
134
135 libcommontls_a_SOURCES = $(tls_sources)
136 libcommontls_a_CFLAGS = $(AM_CFLAGS) $(LIBGNUTLS_CFLAGS) -DWITHOUT_NPTH=1
137
138 libcommontlsnpth_a_SOURCES = $(tls_sources)
139 libcommontlsnpth_a_CFLAGS = $(AM_CFLAGS) $(LIBGNUTLS_CFLAGS) $(NPTH_CFLAGS)
140
141 if !HAVE_W32CE_SYSTEM
142 libsimple_pwquery_a_SOURCES = \
143         simple-pwquery.c simple-pwquery.h asshelp.c asshelp.h
144 libsimple_pwquery_a_CFLAGS = $(AM_CFLAGS) $(LIBASSUAN_CFLAGS)
145 endif
146
147 libgpgrl_a_SOURCES = \
148         gpgrlhelp.c
149
150 if MAINTAINER_MODE
151 # Note: Due to the dependency on Makefile, the file will always be
152 # rebuilt, so we allow this only in maintainer mode.
153
154 # Create the audit-events.h include file from audit.h
155 # Note: We create the target file in the source directory because it
156 # is a distributed built source.  If we would not do that we may end
157 # up with two files and then it is not clear which version of the
158 # files will be picked up.
159 audit-events.h: Makefile.am mkstrtable.awk exaudit.awk audit.h
160         $(AWK) -f $(srcdir)/exaudit.awk $(srcdir)/audit.h \
161           | $(AWK) -f $(srcdir)/mkstrtable.awk -v textidx=3 -v nogettext=1 \
162                    -v namespace=eventstr_  > $(srcdir)/audit-events.h
163
164 # Create the status-codes.h include file from status.h
165 status-codes.h: Makefile.am mkstrtable.awk exstatus.awk status.h
166         $(AWK) -f $(srcdir)/exstatus.awk $(srcdir)/status.h \
167           | $(AWK) -f $(srcdir)/mkstrtable.awk -v textidx=3 -v nogettext=1 \
168                    -v namespace=statusstr_  > $(srcdir)/status-codes.h
169 endif
170
171 #
172 # Module tests
173 #
174 t_jnlib_src = t-support.c t-support.h
175 jnlib_tests = t-stringhelp t-timestuff
176 if HAVE_W32_SYSTEM
177 jnlib_tests += t-w32-reg
178 endif
179 module_tests = t-convert t-percent t-gettime t-sysutils t-sexputil \
180                t-session-env t-openpgp-oid t-ssh-utils t-dns-cert \
181                t-pka t-mapstrings t-zb32 t-mbox-util
182 if !HAVE_W32CE_SYSTEM
183 module_tests += t-exechelp
184 endif
185
186 if MAINTAINER_MODE
187 module_maint_tests = t-helpfile t-b64 t-http
188 else
189 module_maint_tests =
190 endif
191
192
193 t_common_cflags = $(KSBA_CFLAGS) $(LIBGCRYPT_CFLAGS) \
194                   $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS)
195 t_common_ldadd = libcommon.a \
196                  $(LIBGCRYPT_LIBS) $(LIBASSUAN_LIBS) $(GPG_ERROR_LIBS) \
197                  $(LIBINTL) $(LIBICONV)
198
199
200 # jnlib tests
201 t_stringhelp_SOURCES = t-stringhelp.c $(t_jnlib_src)
202 t_stringhelp_LDADD = $(t_common_ldadd)
203
204 t_timestuff_SOURCES = t-timestuff.c $(t_jnlib_src)
205 t_timestuff_LDADD = $(t_common_ldadd)
206
207 if HAVE_W32_SYSTEM
208 t_w32_reg_SOURCES = t-w32-reg.c $(t_jnlib_src)
209 t_w32_reg_LDADD   = $(t_common_ldadd)
210 endif
211
212 # common tests
213 t_convert_LDADD = $(t_common_ldadd)
214 t_percent_LDADD = $(t_common_ldadd)
215 t_gettime_LDADD = $(t_common_ldadd)
216 t_sysutils_LDADD = $(t_common_ldadd)
217 t_helpfile_LDADD = $(t_common_ldadd)
218 t_sexputil_LDADD = $(t_common_ldadd)
219 t_b64_LDADD = $(t_common_ldadd)
220 t_exechelp_LDADD = $(t_common_ldadd)
221 t_session_env_LDADD = $(t_common_ldadd)
222 t_openpgp_oid_LDADD = $(t_common_ldadd)
223 t_ssh_utils_LDADD = $(t_common_ldadd)
224 t_dns_cert_LDADD = $(t_common_ldadd) $(DNSLIBS)
225 t_pka_LDADD = $(t_common_ldadd) $(DNSLIBS)
226 t_mapstrings_LDADD = $(t_common_ldadd)
227 t_zb32_LDADD = $(t_common_ldadd)
228 t_mbox_util_LDADD = $(t_common_ldadd)
229
230 # http tests
231 t_http_SOURCES = t-http.c
232 t_http_CFLAGS  = $(t_common_cflags) $(NTBTLS_CFLAGS) $(LIBGNUTLS_CFLAGS)
233 t_http_LDADD   = libcommontls.a $(t_common_ldadd) \
234                  $(NTBTLS_LIBS) $(LIBGNUTLS_LIBS) $(DNSLIBS)
235
236 # All programs should depend on the created libs.
237 $(PROGRAMS) : libcommon.a libcommonpth.a libcommontls.a libcommontlsnpth.a