common: Remove generated files only during maintainer-clean.
[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
24 noinst_LIBRARIES = libcommon.a libcommonpth.a libgpgrl.a
25 if !HAVE_W32CE_SYSTEM
26 noinst_LIBRARIES += libsimple-pwquery.a
27 endif
28 noinst_PROGRAMS = $(jnlib_tests) $(module_tests) $(module_maint_tests)
29 TESTS = $(jnlib_tests) $(module_tests)
30
31 BUILT_SOURCES = audit-events.h status-codes.h
32
33 MAINTAINERCLEANFILES = audit-events.h status-codes.h
34
35 AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/intl
36
37 AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(LIBASSUAN_CFLAGS) $(KSBA_CFLAGS)
38
39 include $(top_srcdir)/am/cmacros.am
40
41 jnlib_sources = \
42         libjnlib-config.h \
43         types.h dynload.h w32help.h \
44         stringhelp.c stringhelp.h \
45         strlist.c strlist.h \
46         utf8conv.c utf8conv.h \
47         argparse.c argparse.h \
48         logging.c logging.h  \
49         dotlock.c dotlock.h  \
50         mischelp.c mischelp.h
51
52 if HAVE_W32_SYSTEM
53 jnlib_sources += w32-reg.c w32-afunix.c w32-afunix.h
54 endif
55
56
57 common_sources = \
58         common-defs.h \
59         util.h i18n.c i18n.h \
60         estream.c estream.h estream-printf.c estream-printf.h \
61         status.c status.h\
62         openpgpdefs.h \
63         gc-opt-flags.h \
64         keyserver.h \
65         sexp-parse.h \
66         tlv.c tlv.h \
67         init.c init.h \
68         sexputil.c \
69         sysutils.c sysutils.h \
70         homedir.c \
71         gettime.c gettime.h \
72         yesno.c \
73         b64enc.c b64dec.c \
74         convert.c \
75         percent.c \
76         miscellaneous.c \
77         xasprintf.c \
78         xreadline.c \
79         membuf.c membuf.h \
80         iobuf.c iobuf.h \
81         ttyio.c ttyio.h \
82         asshelp.c asshelp2.c asshelp.h \
83         exechelp.h \
84         signal.c \
85         audit.c audit.h \
86         srv.h \
87         dns-cert.c dns-cert.h \
88         pka.c pka.h \
89         http.c http.h \
90         localename.c \
91         session-env.c session-env.h \
92         userids.c userids.h \
93         openpgp-oid.c \
94         ssh-utils.c ssh-utils.h \
95         helpfile.c
96
97 # To make the code easier to read we have split home some code into
98 # separate source files.
99 if HAVE_W32_SYSTEM
100 if HAVE_W32CE_SYSTEM
101 common_sources += exechelp-w32ce.c
102 else
103 common_sources += exechelp-w32.c
104 endif
105 else
106 common_sources += exechelp-posix.c
107 endif
108
109 # Sources only useful without NPTH.
110 without_npth_sources = \
111         get-passphrase.c get-passphrase.h
112
113
114 libcommon_a_SOURCES = $(jnlib_sources) $(common_sources) $(without_npth_sources)
115 if USE_DNS_SRV
116 libcommon_a_SOURCES += srv.c
117 endif
118 libcommon_a_CFLAGS = $(AM_CFLAGS) $(LIBASSUAN_CFLAGS) -DWITHOUT_NPTH=1
119
120 libcommonpth_a_SOURCES = $(jnlib_sources) $(common_sources)
121 if USE_DNS_SRV
122 libcommonpth_a_SOURCES += srv.c
123 endif
124 libcommonpth_a_CFLAGS = $(AM_CFLAGS) $(LIBASSUAN_CFLAGS) $(NPTH_CFLAGS)
125
126 if !HAVE_W32CE_SYSTEM
127 libsimple_pwquery_a_SOURCES = \
128         simple-pwquery.c simple-pwquery.h asshelp.c asshelp.h
129 libsimple_pwquery_a_CFLAGS = $(AM_CFLAGS) $(LIBASSUAN_CFLAGS)
130 endif
131
132 libgpgrl_a_SOURCES = \
133         gpgrlhelp.c
134
135 if MAINTAINER_MODE
136 # Note: Due to the dependency on Makefile, the file will always be
137 # rebuilt, so we allow this only in maintainer mode.
138
139 # Create the audit-events.h include file from audit.h
140 # Note: We create the target file in the source directory because it
141 # is a distributed built source.  If we would not do that we may end
142 # up with two files and then it is not clear which version of the
143 # files will be picked up.
144 audit-events.h: Makefile.am mkstrtable.awk exaudit.awk audit.h
145         $(AWK) -f $(srcdir)/exaudit.awk $(srcdir)/audit.h \
146           | $(AWK) -f $(srcdir)/mkstrtable.awk -v textidx=3 -v nogettext=1 \
147                    -v namespace=eventstr_  > $(srcdir)/audit-events.h
148
149 # Create the status-codes.h include file from status.h
150 status-codes.h: Makefile.am mkstrtable.awk exstatus.awk status.h
151         $(AWK) -f $(srcdir)/exstatus.awk $(srcdir)/status.h \
152           | $(AWK) -f $(srcdir)/mkstrtable.awk -v textidx=3 -v nogettext=1 \
153                    -v namespace=statusstr_  > $(srcdir)/status-codes.h
154 endif
155
156 #
157 # Module tests
158 #
159 t_jnlib_src = t-support.c t-support.h
160 jnlib_tests = t-stringhelp t-timestuff
161 if HAVE_W32_SYSTEM
162 jnlib_tests += t-w32-reg
163 endif
164 module_tests = t-convert t-percent t-gettime t-sysutils t-sexputil \
165                t-session-env t-openpgp-oid t-ssh-utils t-dns-cert
166 if !HAVE_W32CE_SYSTEM
167 module_tests += t-exechelp
168 endif
169 module_maint_tests = t-helpfile t-b64
170
171
172 t_common_ldadd = libcommon.a ../gl/libgnu.a \
173                  $(LIBGCRYPT_LIBS) $(LIBASSUAN_LIBS) $(GPG_ERROR_LIBS) $(LIBINTL) $(LIBICONV)
174
175 # jnlib tests
176 t_stringhelp_SOURCES = t-stringhelp.c $(t_jnlib_src)
177 t_stringhelp_LDADD = $(t_common_ldadd)
178
179 t_timestuff_SOURCES = t-timestuff.c $(t_jnlib_src)
180 t_timestuff_LDADD = $(t_common_ldadd)
181
182 if HAVE_W32_SYSTEM
183 t_w32_reg_SOURCES = t-w32-reg.c $(t_jnlib_src)
184 t_w32_reg_LDADD   = $(t_common_ldadd)
185 endif
186
187 # common tests
188 t_convert_LDADD = $(t_common_ldadd)
189 t_percent_LDADD = $(t_common_ldadd)
190 t_gettime_LDADD = $(t_common_ldadd)
191 t_sysutils_LDADD = $(t_common_ldadd)
192 t_helpfile_LDADD = $(t_common_ldadd)
193 t_sexputil_LDADD = $(t_common_ldadd)
194 t_b64_LDADD = $(t_common_ldadd)
195 t_exechelp_LDADD = $(t_common_ldadd)
196 t_session_env_LDADD = $(t_common_ldadd)
197 t_openpgp_oid_LDADD = $(t_common_ldadd)
198 t_ssh_utils_LDADD = $(t_common_ldadd)
199 t_dns_cert_LDADD = $(t_common_ldadd) $(DNSLIBS)