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