1 ## Process this file with automake to produce Makefile.in
2 # Copyright (C) 2000-2012 Free Software Foundation, Inc.
4 # Author: Nikos Mavrogiannopoulos
6 # This file is part of GnuTLS.
8 # The GnuTLS is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU Lesser General Public License
10 # as published by the Free Software Foundation; either version 3 of
11 # the License, or (at your option) any later version.
13 # The GnuTLS is distributed in the hope that it will be
14 # useful, but WITHOUT ANY WARRANTY; without even the implied warranty
15 # of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 # Lesser General Public License for more details.
18 # You should have received a copy of the GNU Lesser General Public License
19 # along with this program. If not, see <http://www.gnu.org/licenses/>
21 ACLOCAL_AMFLAGS = -I ../m4 -I ../gl/m4
23 EXTRA_DIST = priority_options.gperf
24 BUILT_SOURCES = pkix_asn1_tab.c gnutls_asn1_tab.c priority_options.h
26 SUBDIRS = includes x509 auth ext algorithms extras accelerated
32 localedir = $(datadir)/locale
34 AM_CFLAGS = $(WERROR_CFLAGS) $(WSTACK_CFLAGS) $(WARN_CFLAGS) $(NETTLE_CFLAGS)
36 -DLOCALEDIR=\"$(localedir)\" \
39 -I$(builddir)/includes \
41 -I$(srcdir)/includes \
42 -I$(builddir)/includes \
50 AM_CPPFLAGS += -I$(srcdir)/opencdk
54 AM_CPPFLAGS += -I$(srcdir)/minitasn1
58 pkgconfigdir = $(libdir)/pkgconfig
59 pkgconfig_DATA = gnutls.pc
60 DISTCLEANFILES = $(pkgconfig_DATA)
62 lib_LTLIBRARIES = libgnutls.la
64 SRP_COBJECTS = gnutls_srp.c
66 PSK_COBJECTS = gnutls_psk.c
68 COBJECTS = gnutls_range.c gnutls_record.c \
69 gnutls_compress.c debug.c gnutls_cipher.c \
70 gnutls_mbuffers.c gnutls_buffers.c gnutls_handshake.c \
71 gnutls_num.c gnutls_errors.c gnutls_dh.c gnutls_kx.c \
72 gnutls_priority.c gnutls_hash_int.c gnutls_cipher_int.c \
73 gnutls_session.c gnutls_db.c x509_b64.c gnutls_extensions.c \
74 gnutls_auth.c gnutls_v2_compat.c gnutls_datum.c \
75 gnutls_session_pack.c gnutls_mpi.c gnutls_pk.c gnutls_cert.c \
76 gnutls_global.c gnutls_constate.c gnutls_anon_cred.c \
77 pkix_asn1_tab.c gnutls_asn1_tab.c \
78 gnutls_mem.c gnutls_ui.c vasprintf.c vasprintf.h \
79 gnutls_sig.c gnutls_ecc.c gnutls_alert.c gnutls_privkey_raw.c \
80 system.c gnutls_str.c gnutls_state.c gnutls_x509.c \
81 gnutls_rsa_export.c gnutls_helper.c gnutls_supplemental.c \
82 random.c crypto-api.c gnutls_privkey.c gnutls_pcert.c \
83 gnutls_pubkey.c locks.c gnutls_dtls.c system_override.c \
84 crypto-backend.c verify-tofu.c pin.c tpm.c fips.c \
88 COBJECTS += crypto-selftests.c crypto-selftests-pk.c
92 COBJECTS += pkcs11.c pkcs11_privkey.c pkcs11_write.c pkcs11_secret.c \
100 HFILES = abstract_int.h debug.h gnutls_compress.h gnutls_cipher.h \
101 gnutls_buffers.h gnutls_errors.h gnutls_int.h gnutls_dtls.h \
102 gnutls_handshake.h gnutls_num.h algorithms.h \
103 gnutls_dh.h gnutls_kx.h gnutls_hash_int.h gnutls_cipher_int.h \
104 gnutls_db.h gnutls_auth.h gnutls_extensions.h \
105 x509_b64.h gnutls_v2_compat.h gnutls_datum.h \
106 gnutls_mpi.h gnutls_pk.h gnutls_record.h \
107 gnutls_constate.h gnutls_global.h gnutls_sig.h gnutls_mem.h \
108 gnutls_session_pack.h gnutls_str.h gnutls_str_array.h \
109 gnutls_state.h gnutls_x509.h crypto-backend.h \
110 gnutls_srp.h auth/srp.h auth/srp_passwd.h \
111 gnutls_helper.h gnutls_supplemental.h crypto.h random.h system.h\
112 locks.h gnutls_mbuffers.h gnutls_ecc.h pin.h fips.h \
116 HFILES += pkcs11_int.h
119 # Separate so we can create the documentation
121 libgnutls_la_SOURCES = $(HFILES) $(COBJECTS) $(SRP_COBJECTS) \
123 gnutls.asn pkix.asn libgnutls.map
125 libgnutls_la_LDFLAGS = -no-undefined \
126 -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
128 libgnutls_la_LIBADD = ../gl/libgnu.la x509/libgnutls_x509.la \
129 ext/libgnutls_ext.la \
130 auth/libgnutls_auth.la algorithms/libgnutls_alg.la \
131 extras/libgnutls_extras.la
132 thirdparty_libadd = $(LTLIBZ) $(LTLIBINTL) $(LIBSOCKET) \
133 $(LTLIBICONV) $(P11_KIT_LIBS) $(LIB_SELECT) $(TSS_LIBS)
136 libgnutls_la_LIBADD += accelerated/libaccelerated.la
140 thirdparty_libadd += $(LTLIBPTHREAD)
144 thirdparty_libadd += $(LTLIBRT)
148 thirdparty_libadd += $(FIPS140_LIBS)
152 libgnutls_la_LIBADD += openpgp/libgnutls_openpgp.la
153 libgnutls_la_LIBADD += opencdk/libminiopencdk.la
156 if HAVE_LD_VERSION_SCRIPT
157 libgnutls_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libgnutls.map
159 libgnutls_la_LDFLAGS += -export-symbols-regex '^(gnutls|_gnutls).*'
163 libgnutls_la_LIBADD += minitasn1/libminitasn1.la
165 thirdparty_libadd += $(LIBTASN1_LIBS)
169 thirdparty_libadd += $(NETTLE_LIBS) $(HOGWEED_LIBS) $(GMP_LIBS)
170 libgnutls_la_LIBADD += nettle/libcrypto.la
173 if HAVE_LD_OUTPUT_DEF
174 libgnutls_la_LDFLAGS += -Wl,--output-def,libgnutls-$(DLL_VERSION).def
175 libgnutls-$(DLL_VERSION).def: libgnutls.la
176 defexecdir = $(bindir)
177 defexec_DATA = libgnutls-$(DLL_VERSION).def
178 DISTCLEANFILES += $(defexec_DATA)
182 thirdparty_libadd += -lcrypt32
185 libgnutls_la_LIBADD += $(thirdparty_libadd)
190 libgnutlsxx_la_CPPFLAGS = -I$(top_srcdir)/includes -I$(top_builddir)/includes -I$(srcdir)/includes
193 -I$(srcdir)/includes \
194 -I$(builddir)/includes
196 lib_LTLIBRARIES += libgnutlsxx.la
198 libgnutlsxx_la_SOURCES = gnutlsxx.cpp
200 libgnutlsxx_la_LDFLAGS = -no-undefined \
201 -version-info $(CXX_LT_CURRENT):$(CXX_LT_REVISION):$(CXX_LT_AGE)
203 libgnutlsxx_la_LIBADD = libgnutls.la
207 pkix_asn1_tab.c: $(srcdir)/pkix.asn
208 -asn1Parser $(srcdir)/pkix.asn pkix_asn1_tab.c
210 gnutls_asn1_tab.c: $(srcdir)/gnutls.asn
211 -asn1Parser $(srcdir)/gnutls.asn gnutls_asn1_tab.c
213 priority_options.h: $(srcdir)/priority_options.gperf
214 -gperf -t $^ > $@-tmp && mv $@-tmp $@