Removed the module registration interface
[libgcrypt.git] / src / Makefile.am
1 # Makefile.am - for gcrypt/src
2 # Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
3 #               2006, 2007  Free Software Foundation, Inc.
4 #
5 # This file is part of Libgcrypt.
6 #
7 # Libgcrypt is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU Lesser General Public License as
9 # published by the Free Software Foundation; either version 2.1 of
10 # the License, or (at your option) any later version.
11 #
12 # Libgcrypt is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU Lesser General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, see <http://www.gnu.org/licenses/>.
19
20
21 ## Process this file with automake to produce Makefile.in
22
23 EXTRA_DIST = Manifest libgcrypt-config.in libgcrypt.m4 libgcrypt.vers \
24              gcrypt.h.in libgcrypt.def
25
26 bin_SCRIPTS = libgcrypt-config
27 m4datadir = $(datadir)/aclocal
28 m4data_DATA = libgcrypt.m4
29 include_HEADERS = gcrypt.h
30
31 lib_LTLIBRARIES = libgcrypt.la
32 bin_PROGRAMS = dumpsexp hmac256
33 if USE_RANDOM_DAEMON
34 sbin_PROGRAMS = gcryptrnd
35 bin_PROGRAMS += getrandom
36 endif USE_RANDOM_DAEMON
37
38 # Depending on the architecture some targets require libgpg-error.
39 if HAVE_W32CE_SYSTEM
40 arch_gpg_error_cflags = $(GPG_ERROR_CFLAGS)
41 arch_gpg_error_libs   = $(GPG_ERROR_LIBS)
42 else
43 arch_gpg_error_cflags =
44 arch_gpg_error_libs   =
45 endif
46
47
48 if HAVE_LD_VERSION_SCRIPT
49   libgcrypt_version_script_cmd = -Wl,--version-script=$(srcdir)/libgcrypt.vers
50 else
51   libgcrypt_version_script_cmd =
52 endif
53
54 libgcrypt_la_CFLAGS = $(GPG_ERROR_CFLAGS)
55 libgcrypt_la_SOURCES = g10lib.h visibility.c visibility.h types.h \
56         cipher.h cipher-proto.h gcrypt-module.h \
57         misc.c global.c sexp.c hwfeatures.c \
58         stdmem.c stdmem.h secmem.c secmem.h \
59         mpi.h missing-string.c module.c fips.c \
60         hmac256.c hmac256.h \
61         ath.h ath.c
62
63 if HAVE_W32_SYSTEM
64
65 RCCOMPILE = $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
66         $(libgcrypt_la_CPPFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
67 LTRCCOMPILE = $(LIBTOOL) --mode=compile --tag=RC $(RCCOMPILE)
68
69 SUFFIXES = .rc .lo
70
71 .rc.lo:
72         $(LTRCCOMPILE) -i "$<" -o "$@"
73
74 gcrypt_res = versioninfo.lo
75 no_undefined = -no-undefined
76 export_symbols = -export-symbols $(srcdir)/libgcrypt.def
77
78 install-def-file:
79         $(INSTALL) $(srcdir)/libgcrypt.def $(DESTDIR)$(libdir)/libgcrypt.def
80
81 uninstall-def-file:
82         -rm $(DESTDIR)$(libdir)/libgcrypt.def
83
84 gcrypt_deps = $(gcrypt_res) libgcrypt.def
85
86 else !HAVE_W32_SYSTEM
87
88 gcrypt_res =
89 gcrypt_res_ldflag =
90 no_undefined =
91 export_symbols =
92 install-def-file:
93 uninstall-def-file:
94
95 gcrypt_deps =
96
97 endif !HAVE_W32_SYSTEM
98
99
100 libgcrypt_la_LDFLAGS = $(no_undefined) $(export_symbols) \
101         $(libgcrypt_version_script_cmd) -version-info \
102         @LIBGCRYPT_LT_CURRENT@:@LIBGCRYPT_LT_REVISION@:@LIBGCRYPT_LT_AGE@
103 libgcrypt_la_DEPENDENCIES = \
104         ../cipher/libcipher.la \
105         ../random/librandom.la \
106         ../mpi/libmpi.la \
107         ../compat/libcompat.la \
108         $(srcdir)/libgcrypt.vers $(gcrypt_deps)
109 libgcrypt_la_LIBADD = $(gcrypt_res) \
110         ../cipher/libcipher.la \
111         ../random/librandom.la \
112         ../mpi/libmpi.la \
113         ../compat/libcompat.la  $(GPG_ERROR_LIBS)
114
115
116 dumpsexp_SOURCES = dumpsexp.c
117 dumpsexp_CFLAGS = $(arch_gpg_error_cflags)
118 dumpsexp_LDADD = $(arch_gpg_error_libs)
119
120 hmac256_SOURCES = hmac256.c
121 hmac256_CFLAGS = -DSTANDALONE $(arch_gpg_error_cflags)
122 hmac256_LDADD = $(arch_gpg_error_libs)
123
124 if USE_RANDOM_DAEMON
125 gcryptrnd_SOURCES = gcryptrnd.c
126 gcryptrnd_CFLAGS = $(GPG_ERROR_CFLAGS) $(PTH_CFLAGS)
127 gcryptrnd_LDADD = libgcrypt.la $(GPG_ERROR_LIBS) $(PTH_LIBS)
128
129 getrandom_SOURCES = getrandom.c
130 endif USE_RANDOM_DAEMON
131
132
133 install-data-local: install-def-file
134
135 uninstall-local: uninstall-def-file
136
137 # FIXME: We need to figure out how to get the actual name (parsing
138 # libgcrypt.la?) and how to create the hmac file already at link time
139 # so that it can be used without installing libgcrypt first.
140 #install-exec-hook:
141 #       ./hmac256 "What am I, a doctor or a moonshuttle conductor?" \
142 #          < $(DESTDIR)$(libdir)/libgcrypt.so.11.5.0 \
143 #          > $(DESTDIR)$(libdir)/.libgcrypt.so.11.5.0.hmac