Completed the RNG implementaion switching.
[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 Lesser General Public
18 # License along with this program; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
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 bin_SCRIPTS = libgcrypt-config
26 m4datadir = $(datadir)/aclocal
27 m4data_DATA = libgcrypt.m4
28 include_HEADERS = gcrypt.h gcrypt-module.h
29
30 lib_LTLIBRARIES = libgcrypt.la
31 bin_PROGRAMS = dumpsexp hmac256
32 if USE_RANDOM_DAEMON
33 sbin_PROGRAMS = gcryptrnd
34 bin_PROGRAMS += getrandom
35 endif USE_RANDOM_DAEMON
36
37
38 if HAVE_LD_VERSION_SCRIPT
39   libgcrypt_version_script_cmd = -Wl,--version-script=$(srcdir)/libgcrypt.vers
40 else
41   libgcrypt_version_script_cmd = 
42 endif
43
44 libgcrypt_la_CFLAGS = @GPG_ERROR_CFLAGS@
45 libgcrypt_la_SOURCES = g10lib.h visibility.c visibility.h types.h \
46         cipher.h cipher-proto.h \
47         misc.c global.c sexp.c hwfeatures.c \
48         stdmem.c stdmem.h secmem.c secmem.h \
49         mpi.h missing-string.c module.c fips.c \
50         hmac256.c hmac256.h \
51         ath.h ath.c
52
53 if HAVE_W32_SYSTEM
54
55 LTRCCOMPILE = $(LIBTOOL) --mode=compile $(RC) \
56      `echo $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) | \
57      sed -e 's/-I/--include-dir /g;s/-D/--define /g'`
58
59 .rc.lo:
60         $(LTRCCOMPILE) -i $< -o $@
61
62 gcrypt_res = versioninfo.lo
63 gcrypt_res_ldflag = -Wl,.libs/versioninfo.o
64
65 no_undefined = -no-undefined
66 export_symbols = -export-symbols $(srcdir)/libgcrypt.def
67
68 install-def-file:
69         $(INSTALL) $(srcdir)/libgcrypt.def $(DESTDIR)$(libdir)/libgcrypt.def
70
71 uninstall-def-file:
72         -rm $(DESTDIR)$(libdir)/libgcrypt.def
73
74 gcrypt_deps = $(gcrypt_res) libgcrypt.def
75
76 else !HAVE_W32_SYSTEM
77
78 gcrypt_res =
79 gcrypt_res_ldflag =
80 no_undefined =
81 export_symbols =
82 install-def-file:
83 uninstall-def-file:
84
85 gcrypt_deps =
86
87 endif !HAVE_W32_SYSTEM
88
89
90 libgcrypt_la_LDFLAGS = $(gcrypt_res_ldflag) $(no_undefined) $(export_symbols) \
91         $(libgcrypt_version_script_cmd) -version-info \
92         @LIBGCRYPT_LT_CURRENT@:@LIBGCRYPT_LT_REVISION@:@LIBGCRYPT_LT_AGE@
93 libgcrypt_la_DEPENDENCIES = \
94         ../cipher/libcipher.la \
95         ../random/librandom.la \
96         ../mpi/libmpi.la \
97         $(srcdir)/libgcrypt.vers $(gcrypt_deps)
98 libgcrypt_la_LIBADD = \
99         ../cipher/libcipher.la \
100         ../random/librandom.la \
101         ../mpi/libmpi.la \
102         @LTLIBOBJS@ @GPG_ERROR_LIBS@
103
104
105 dumpsexp_SOURCES = dumpsexp.c
106 dumpsexp_LDADD = 
107
108 hmac256_SOURCES = hmac256.c
109 hmac256_CFLAGS = -DSTANDALONE
110 hmac256_LDADD = 
111
112 if USE_RANDOM_DAEMON
113 gcryptrnd_SOURCES = gcryptrnd.c
114 gcryptrnd_CFLAGS = $(GPG_ERROR_CFLAGS) $(PTH_CFLAGS)
115 gcryptrnd_LDADD = libgcrypt.la $(PTH_LIBS)
116
117 getrandom_SOURCES = getrandom.c
118 endif USE_RANDOM_DAEMON
119
120
121 install-data-local: install-def-file
122
123 uninstall-local: uninstall-def-file
124
125 # FIXME: We ned to figure out how to gte the actual name (parsing
126 # libgcrypt.la?) and how to create the hmac file already at link time
127 # so that it can be used without first installing.
128 #install-exec-hook:
129 #       ./hmac256 --binary "What am I, a doctor or a moonshuttle conductor?" \
130 #           $(DESTDIR)$(libdir)/libgcrypt.so.11.5.0 \
131 #          >$(DESTDIR)$(libdir)/libgcrypt.so.11.5.0.hmac
132