scd: Do not conflict if a card with another serialno is demanded.
[gnupg.git] / tools / Makefile.am
index 4fda65d..fb37c05 100644 (file)
 # Makefile.am - Tools directory
 #      Copyright (C) 2003, 2007 Free Software Foundation, Inc.
-# 
+#
 # This file is part of GnuPG.
-# 
+#
 # GnuPG is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
-# 
+#
 # GnuPG is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
-# 
+#
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 
 EXTRA_DIST = \
-       Manifest watchgnupg.c \
-       addgnupghome applygnupgdefaults gpgsm-gencert.sh \
-       lspgpot mail-signed-keys convert-from-106 sockprox.c
-
-
-AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/intl -I$(top_srcdir)/common
+       Manifest watchgnupg.c no-libgcrypt.c \
+       addgnupghome applygnupgdefaults \
+       lspgpot mail-signed-keys convert-from-106 sockprox.c \
+       ccidmon.c ChangeLog-2011 \
+       gpg-connect-agent-w32info.rc \
+       gpg-card-w32info.rc
+
+AM_CPPFLAGS =
 include $(top_srcdir)/am/cmacros.am
 
+if HAVE_W32_SYSTEM
+gpg_connect_agent_rc_objs = gpg-connect-agent-w32info.o
+gpg_card_tool_rc_objs     = gpg-card-w32info.o
+resource_objs += $(gpg_connect_agent_rc_objs) $(gpg_card_tool_rc_objs)
+endif
+
 AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS) $(LIBASSUAN_CFLAGS)
 
 sbin_SCRIPTS = addgnupghome applygnupgdefaults
 
-bin_SCRIPTS = gpgsm-gencert.sh
-if HAVE_USTAR
-# bin_SCRIPTS += gpg-zip
-noinst_SCRIPTS = gpg-zip
-endif
-
 if BUILD_SYMCRYPTRUN
   symcryptrun = symcryptrun
 else
   symcryptrun =
 endif
 
-bin_PROGRAMS = gpgconf gpg-connect-agent gpgkey2ssh ${symcryptrun}
+if BUILD_WKS_TOOLS
+  gpg_wks_server = gpg-wks-server
+else
+  gpg_wks_server =
+endif
+
+libexec_PROGRAMS = gpg-wks-client gpg-pair-tool
+
+bin_PROGRAMS = gpgconf gpg-connect-agent gpg-card ${symcryptrun}
 if !HAVE_W32_SYSTEM
-bin_PROGRAMS += watchgnupg gpgparsemail
+bin_PROGRAMS += watchgnupg gpgparsemail ${gpg_wks_server}
 endif
 
-noinst_PROGRAMS = clean-sat mk-tdata make-dns-cert gpgsplit
+if !DISABLE_REGEX
+libexec_PROGRAMS += gpg-check-pattern
+endif
 
-common_libs = ../jnlib/libjnlib.a $(libcommon) ../gl/libgnu.a
+if !HAVE_W32CE_SYSTEM
+noinst_PROGRAMS = clean-sat make-dns-cert gpgsplit
+endif
+
+if !HAVE_W32CE_SYSTEM
+if BUILD_GPGTAR
+  bin_PROGRAMS += gpgtar
+else
+  noinst_PROGRAMS += gpgtar
+endif
+endif
+
+common_libs = $(libcommon)
+commonpth_libs = $(libcommonpth)
+
+# Some modules require PTH under W32CE.
+if HAVE_W32CE_SYSTEM
+maybe_commonpth_libs = $(commonpth_libs)
+else
+maybe_commonpth_libs = $(common_libs)
+endif
+
+if HAVE_W32CE_SYSTEM
+pwquery_libs =
+else
 pwquery_libs = ../common/libsimple-pwquery.a
+endif
+
+if HAVE_W32CE_SYSTEM
+opt_libassuan_libs = $(LIBASSUAN_LIBS)
+endif
 
 gpgsplit_LDADD = $(common_libs) \
                 $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) \
-                $(ZLIBS) $(LIBINTL) $(LIBICONV)
+                $(ZLIBS) $(LIBINTL) $(NETLIBS) $(LIBICONV)
 
-gpgconf_SOURCES = gpgconf.c gpgconf.h gpgconf-comp.c no-libgcrypt.c
+gpgconf_SOURCES = gpgconf.c gpgconf.h gpgconf-comp.c
 
-# jnlib/common sucks in gpg-error, will they, nil they (some compilers
+# common sucks in gpg-error, will they, nil they (some compilers
 # do not eliminate the supposed-to-be-unused-inline-functions).
-gpgconf_LDADD = $(common_libs) \
-                $(LIBINTL) $(GPG_ERROR_LIBS) $(LIBICONV) $(W32SOCKLIBS)
+gpgconf_LDADD = $(maybe_commonpth_libs) $(opt_libassuan_libs) \
+                $(LIBINTL) $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) $(NETLIBS) \
+               $(LIBICONV) $(W32SOCKLIBS)
+gpgconf_LDFLAGS = $(extra_bin_ldflags)
 
 gpgparsemail_SOURCES = gpgparsemail.c rfc822parse.c rfc822parse.h
-gpgparsemail_LDADD = 
+gpgparsemail_LDADD =
 
 symcryptrun_SOURCES = symcryptrun.c
 symcryptrun_LDADD = $(LIBUTIL_LIBS) $(common_libs) $(pwquery_libs) \
                     $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) $(LIBINTL) \
-                    $(LIBICONV) $(W32SOCKLIBS)
+                    $(LIBICONV) $(NETLIBS) $(W32SOCKLIBS) $(LIBASSUAN_LIBS)
 
-watchgnupg_SOURCES = watchgnupg.c 
+watchgnupg_SOURCES = watchgnupg.c
 watchgnupg_LDADD = $(NETLIBS)
 
-gpg_connect_agent_SOURCES = gpg-connect-agent.c no-libgcrypt.c
-# FIXME: remove PTH_LIBS (why do we need them at all?)
-gpg_connect_agent_LDADD = $(common_libs) $(LIBASSUAN_LIBS) $(PTH_LIBS) \
-                         $(GPG_ERROR_LIBS) $(LIBINTL) $(NETLIBS) $(LIBICONV)
+gpg_connect_agent_SOURCES = gpg-connect-agent.c
+gpg_connect_agent_LDADD = ../common/libgpgrl.a $(common_libs) \
+                         $(LIBASSUAN_LIBS) $(LIBGCRYPT_LIBS) \
+                          $(GPG_ERROR_LIBS) \
+                          $(LIBREADLINE) $(LIBINTL) $(NETLIBS) $(LIBICONV) \
+                          $(gpg_connect_agent_rc_objs)
+
+
+gpg_card_SOURCES   = \
+       gpg-card.c \
+       gpg-card.h     \
+       card-call-scd.c \
+       card-keys.c \
+       card-yubikey.c \
+       card-misc.c
+
+gpg_card_LDADD = \
+       ../common/libgpgrl.a $(common_libs) \
+       $(LIBASSUAN_LIBS) $(LIBGCRYPT_LIBS) \
+       $(GPG_ERROR_LIBS) \
+        $(LIBREADLINE) $(LIBINTL) $(NETLIBS) $(LIBICONV) \
+        $(gpg_card_tool_rc_objs)
+
+
+if !DISABLE_REGEX
+gpg_check_pattern_SOURCES = gpg-check-pattern.c
+gpg_check_pattern_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS) $(INCICONV)
+gpg_check_pattern_LDADD = $(common_libs) $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) \
+                         $(LIBINTL) $(NETLIBS) $(LIBICONV) $(W32SOCKLIBS) \
+                         $(LIBICONV)
+endif
 
-gpgkey2ssh_SOURCES = gpgkey2ssh.c
-gpgkey2ssh_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS)
-# common sucks in jnlib, via use of BUG() in an inline function, which
-# some compilers do not eliminate.
-gpgkey2ssh_LDADD = $(common_libs) \
-                   $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) $(LIBINTL) $(LIBICONV)
+gpgtar_SOURCES = \
+       gpgtar.c gpgtar.h \
+       gpgtar-create.c \
+       gpgtar-extract.c \
+       gpgtar-list.c
+gpgtar_CFLAGS = $(GPG_ERROR_CFLAGS)
+gpgtar_LDADD = $(libcommon) $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) \
+               $(LIBINTL) $(NETLIBS) $(LIBICONV) $(W32SOCKLIBS)
+
+gpg_wks_server_SOURCES = \
+       gpg-wks-server.c \
+       gpg-wks.h \
+       wks-util.c \
+       wks-receive.c \
+       rfc822parse.c rfc822parse.h \
+       mime-parser.c mime-parser.h \
+       mime-maker.c  mime-maker.h  \
+       send-mail.c   send-mail.h
+
+gpg_wks_server_CFLAGS = $(GPG_ERROR_CFLAGS) $(INCICONV)
+gpg_wks_server_LDADD = $(libcommon) $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) \
+                      $(LIBINTL) $(LIBICONV)
+
+gpg_wks_client_SOURCES = \
+       gpg-wks-client.c \
+       gpg-wks.h  \
+       wks-util.c \
+       wks-receive.c \
+       rfc822parse.c rfc822parse.h \
+       mime-parser.c mime-parser.h \
+       mime-maker.h  mime-maker.c  \
+       send-mail.c   send-mail.h   \
+       call-dirmngr.c call-dirmngr.h
+
+gpg_wks_client_CFLAGS = $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS) $(INCICONV)
+gpg_wks_client_LDADD = $(libcommon) \
+                      $(LIBASSUAN_LIBS) $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) \
+                      $(LIBINTL) $(LIBICONV)
+
+gpg_pair_tool_SOURCES = \
+       gpg-pair-tool.c
+
+gpg_pair_tool_CFLAGS = $(GPG_ERROR_CFLAGS) $(INCICONV)
+gpg_pair_tool_LDADD =  $(libcommon) \
+                      $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) \
+                      $(LIBINTL) $(LIBICONV) $(W32SOCKLIBS)
 
 
 # Make sure that all libs are build before we use them.  This is
 # important for things like make -j2.
-$(PROGRAMS): $(common_libs) $(pwquery_libs)
-
+$(PROGRAMS): $(common_libs) $(pwquery_libs) ../common/libgpgrl.a