Last minute Makefile library reordering for the sake of non-GNU systems.
[gnupg.git] / tools / Makefile.am
1 # Makefile.am - Tools directory
2 #       Copyright (C) 2003, 2007 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 EXTRA_DIST = \
20         Manifest watchgnupg.c \
21         addgnupghome applygnupgdefaults gpgsm-gencert.sh \
22         lspgpot mail-signed-keys convert-from-106 sockprox.c
23
24
25 AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/intl -I$(top_srcdir)/common
26 include $(top_srcdir)/am/cmacros.am
27
28 AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS) $(LIBASSUAN_CFLAGS)
29
30 sbin_SCRIPTS = addgnupghome applygnupgdefaults
31
32 bin_SCRIPTS = gpgsm-gencert.sh
33 if HAVE_USTAR
34 # bin_SCRIPTS += gpg-zip
35 noinst_SCRIPTS = gpg-zip
36 endif
37
38 if BUILD_SYMCRYPTRUN
39   symcryptrun = symcryptrun
40 else
41   symcryptrun =
42 endif
43
44 bin_PROGRAMS = gpgconf gpg-connect-agent gpgkey2ssh ${symcryptrun}
45 if !HAVE_W32_SYSTEM
46 bin_PROGRAMS += watchgnupg gpgparsemail
47 endif
48
49 noinst_PROGRAMS = clean-sat mk-tdata make-dns-cert gpgsplit
50
51 common_libs = $(libcommon) ../jnlib/libjnlib.a ../gl/libgnu.a
52 pwquery_libs = ../common/libsimple-pwquery.a
53
54 gpgsplit_LDADD = $(common_libs) \
55                  $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) \
56                  $(ZLIBS) $(LIBINTL) $(LIBICONV)
57
58 gpgconf_SOURCES = gpgconf.c gpgconf.h gpgconf-comp.c no-libgcrypt.c
59
60 # jnlib/common sucks in gpg-error, will they, nil they (some compilers
61 # do not eliminate the supposed-to-be-unused-inline-functions).
62 gpgconf_LDADD = $(common_libs) \
63                 $(LIBINTL) $(GPG_ERROR_LIBS) $(LIBICONV) $(W32SOCKLIBS)
64
65 gpgparsemail_SOURCES = gpgparsemail.c rfc822parse.c rfc822parse.h
66 gpgparsemail_LDADD = 
67
68 symcryptrun_SOURCES = symcryptrun.c
69 symcryptrun_LDADD = $(LIBUTIL_LIBS) $(common_libs) $(pwquery_libs) \
70                     $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) $(LIBINTL) \
71                     $(LIBICONV) $(W32SOCKLIBS)
72
73 watchgnupg_SOURCES = watchgnupg.c 
74 watchgnupg_LDADD = $(NETLIBS)
75
76 gpg_connect_agent_SOURCES = gpg-connect-agent.c no-libgcrypt.c
77 # FIXME: remove PTH_LIBS (why do we need them at all?)
78 gpg_connect_agent_LDADD = $(common_libs) $(LIBASSUAN_LIBS) $(PTH_LIBS) \
79                           $(GPG_ERROR_LIBS) $(LIBINTL) $(NETLIBS) $(LIBICONV)
80
81 gpgkey2ssh_SOURCES = gpgkey2ssh.c
82 gpgkey2ssh_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS)
83 # common sucks in jnlib, via use of BUG() in an inline function, which
84 # some compilers do not eliminate.
85 gpgkey2ssh_LDADD = $(common_libs) \
86                    $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) $(LIBINTL) $(LIBICONV)
87
88
89 # Make sure that all libs are build before we use them.  This is
90 # important for things like make -j2.
91 $(PROGRAMS): $(common_libs) $(pwquery_libs)
92