# Makefile.in generated by automake 1.9.5 from Makefile.am.
# @configure_input@

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005  Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

@SET_MAKE@

#
# Copyright 2006 The Apache Software Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# This makefile builds the samples and tools

SOURCES = $(c14n_SOURCES) $(checksig_SOURCES) $(cipher_SOURCES) $(siginf_SOURCES) $(simpleDecrypt_SOURCES) $(simpleEncrypt_SOURCES) $(simpleHMAC_SOURCES) $(simpleValidate_SOURCES) $(templatesign_SOURCES) $(txfmout_SOURCES) $(xklient_SOURCES) $(xtest_SOURCES)

srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
noinst_PROGRAMS = $(am__EXEEXT_2)
bin_PROGRAMS = $(am__EXEEXT_1)
subdir = bin
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_pthread.m4 \
	$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/src/framework/XSECConfig.hpp
CONFIG_CLEAN_FILES =
am__EXEEXT_1 = xtest$(EXEEXT) c14n$(EXEEXT) checksig$(EXEEXT) \
	templatesign$(EXEEXT) txfmout$(EXEEXT) siginf$(EXEEXT) \
	cipher$(EXEEXT) xklient$(EXEEXT)
am__installdirs = "$(DESTDIR)$(bindir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
am__EXEEXT_2 = simpleHMAC$(EXEEXT) simpleValidate$(EXEEXT) \
	simpleEncrypt$(EXEEXT) simpleDecrypt$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
am_c14n_OBJECTS = c14n.$(OBJEXT)
c14n_OBJECTS = $(am_c14n_OBJECTS)
c14n_LDADD = $(LDADD)
c14n_DEPENDENCIES = ../lib/libxml-security-c.la
am_checksig_OBJECTS = checksig.$(OBJEXT) AnonymousResolver.$(OBJEXT) \
	InteropResolver.$(OBJEXT)
checksig_OBJECTS = $(am_checksig_OBJECTS)
checksig_LDADD = $(LDADD)
checksig_DEPENDENCIES = ../lib/libxml-security-c.la
am_cipher_OBJECTS = cipher.$(OBJEXT) XencInteropResolver.$(OBJEXT)
cipher_OBJECTS = $(am_cipher_OBJECTS)
cipher_LDADD = $(LDADD)
cipher_DEPENDENCIES = ../lib/libxml-security-c.la
am_siginf_OBJECTS = siginf.$(OBJEXT)
siginf_OBJECTS = $(am_siginf_OBJECTS)
siginf_LDADD = $(LDADD)
siginf_DEPENDENCIES = ../lib/libxml-security-c.la
am_simpleDecrypt_OBJECTS = simpleDecrypt.$(OBJEXT) \
	IOStreamOutputter.$(OBJEXT)
simpleDecrypt_OBJECTS = $(am_simpleDecrypt_OBJECTS)
simpleDecrypt_LDADD = $(LDADD)
simpleDecrypt_DEPENDENCIES = ../lib/libxml-security-c.la
am_simpleEncrypt_OBJECTS = simpleEncrypt.$(OBJEXT) \
	IOStreamOutputter.$(OBJEXT)
simpleEncrypt_OBJECTS = $(am_simpleEncrypt_OBJECTS)
simpleEncrypt_LDADD = $(LDADD)
simpleEncrypt_DEPENDENCIES = ../lib/libxml-security-c.la
am_simpleHMAC_OBJECTS = simpleHMAC.$(OBJEXT) \
	IOStreamOutputter.$(OBJEXT)
simpleHMAC_OBJECTS = $(am_simpleHMAC_OBJECTS)
simpleHMAC_LDADD = $(LDADD)
simpleHMAC_DEPENDENCIES = ../lib/libxml-security-c.la
am_simpleValidate_OBJECTS = simpleValidate.$(OBJEXT) \
	IOStreamOutputter.$(OBJEXT)
simpleValidate_OBJECTS = $(am_simpleValidate_OBJECTS)
simpleValidate_LDADD = $(LDADD)
simpleValidate_DEPENDENCIES = ../lib/libxml-security-c.la
am_templatesign_OBJECTS = templatesign.$(OBJEXT)
templatesign_OBJECTS = $(am_templatesign_OBJECTS)
templatesign_LDADD = $(LDADD)
templatesign_DEPENDENCIES = ../lib/libxml-security-c.la
am_txfmout_OBJECTS = txfmout.$(OBJEXT)
txfmout_OBJECTS = $(am_txfmout_OBJECTS)
txfmout_LDADD = $(LDADD)
txfmout_DEPENDENCIES = ../lib/libxml-security-c.la
am_xklient_OBJECTS = xklient.$(OBJEXT)
xklient_OBJECTS = $(am_xklient_OBJECTS)
xklient_LDADD = $(LDADD)
xklient_DEPENDENCIES = ../lib/libxml-security-c.la
am_xtest_OBJECTS = xtest.$(OBJEXT)
xtest_OBJECTS = $(am_xtest_OBJECTS)
xtest_LDADD = $(LDADD)
xtest_DEPENDENCIES = ../lib/libxml-security-c.la
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/src/framework
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(c14n_SOURCES) $(checksig_SOURCES) $(cipher_SOURCES) \
	$(siginf_SOURCES) $(simpleDecrypt_SOURCES) \
	$(simpleEncrypt_SOURCES) $(simpleHMAC_SOURCES) \
	$(simpleValidate_SOURCES) $(templatesign_SOURCES) \
	$(txfmout_SOURCES) $(xklient_SOURCES) $(xtest_SOURCES)
DIST_SOURCES = $(c14n_SOURCES) $(checksig_SOURCES) $(cipher_SOURCES) \
	$(siginf_SOURCES) $(simpleDecrypt_SOURCES) \
	$(simpleEncrypt_SOURCES) $(simpleHMAC_SOURCES) \
	$(simpleValidate_SOURCES) $(templatesign_SOURCES) \
	$(txfmout_SOURCES) $(xklient_SOURCES) $(xtest_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
INSTALL_COMMAND_1 = @INSTALL_COMMAND_1@
INSTALL_COMMAND_2 = @INSTALL_COMMAND_2@
INSTALL_COMMAND_3 = @INSTALL_COMMAND_3@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LINK_COMMAND_1 = @LINK_COMMAND_1@
LINK_COMMAND_2 = @LINK_COMMAND_2@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
XSEC_AM_HAVE_OPENSSL_FALSE = @XSEC_AM_HAVE_OPENSSL_FALSE@
XSEC_AM_HAVE_OPENSSL_TRUE = @XSEC_AM_HAVE_OPENSSL_TRUE@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
acx_pthread_config = @acx_pthread_config@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
bitstobuild = @bitstobuild@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
cc = @cc@
cc1 = @cc1@
cc4 = @cc4@
cflags = @cflags@
cppflags = @cppflags@
cxx = @cxx@
cxxflags = @cxxflags@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install = @install@
install_data = @install_data@
install_sh = @install_sh@
ldflags = @ldflags@
lib_major_name = @lib_major_name@
lib_name = @lib_name@
lib_short_name = @lib_short_name@
libdir = @libdir@
libexecdir = @libexecdir@
libs = @libs@
link = @link@
ln_s = @ln_s@
localstatedir = @localstatedir@
make_shared = @make_shared@
mandir = @mandir@
mkdir_p = @mkdir_p@
objsuffix = @objsuffix@
oldincludedir = @oldincludedir@
osver = @osver@
package_libtool_version = @package_libtool_version@
package_name = @package_name@
package_tarname = @package_tarname@
package_version = @package_version@
package_version_major = @package_version_major@
platform = @platform@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
shlibsuffix = @shlibsuffix@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
threads = @threads@
transcoder = @transcoder@
LDADD = ../lib/libxml-security-c.la
AM_CPPFLAGS = -I${top_srcdir}/include

#
# The following are sample programs.  They are NOT installed
#

# HMAC sign

# HMAC validate

# Encrypt

# Decrypt
samples = simpleHMAC simpleValidate simpleEncrypt simpleDecrypt
simpleHMAC_SOURCES = \
  ../src/samples/simpleHMAC.cpp \
  ../src/samples/IOStreamOutputter.cpp

simpleValidate_SOURCES = \
  ../src/samples/simpleValidate.cpp \
  ../src/samples/IOStreamOutputter.cpp

simpleEncrypt_SOURCES = \
  ../src/samples/simpleEncrypt.cpp \
  ../src/samples/IOStreamOutputter.cpp

simpleDecrypt_SOURCES = \
  ../src/samples/simpleDecrypt.cpp \
  ../src/samples/IOStreamOutputter.cpp


#
# Finally we compile the tools that can be used to manipulate
# XML Security inputs and outputs
#

# xtest
tools = xtest c14n checksig templatesign txfmout siginf cipher xklient
xtest_SOURCES = \
  ../src/tools/xtest/xtest.cpp

c14n_SOURCES = \
  ../src/tools/c14n/c14n.cpp

checksig_SOURCES = \
  ../src/tools/checksig/checksig.cpp \
  ../src/tools/checksig/AnonymousResolver.cpp \
  ../src/tools/checksig/InteropResolver.cpp

templatesign_SOURCES = \
  ../src/tools/templatesign/templatesign.cpp

txfmout_SOURCES = \
  ../src/tools/txfmout/txfmout.cpp

siginf_SOURCES = \
  ../src/tools/siginf/siginf.cpp

cipher_SOURCES = \
  ../src/tools/cipher/cipher.cpp \
  ../src/tools/cipher/XencInteropResolver.cpp

xklient_SOURCES = \
  ../src/tools/xklient/xklient.cpp

all: all-am

.SUFFIXES:
.SUFFIXES: .cpp .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
		&& exit 0; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  bin/Makefile'; \
	cd $(top_srcdir) && \
	  $(AUTOMAKE) --gnu  bin/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-binPROGRAMS: $(bin_PROGRAMS)
	@$(NORMAL_INSTALL)
	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
	@list='$(bin_PROGRAMS)'; for p in $$list; do \
	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
	  if test -f $$p \
	     || test -f $$p1 \
	  ; then \
	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
	  else :; fi; \
	done

uninstall-binPROGRAMS:
	@$(NORMAL_UNINSTALL)
	@list='$(bin_PROGRAMS)'; for p in $$list; do \
	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
	done

clean-binPROGRAMS:
	@list='$(bin_PROGRAMS)'; for p in $$list; do \
	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
	  echo " rm -f $$p $$f"; \
	  rm -f $$p $$f ; \
	done

clean-noinstPROGRAMS:
	@list='$(noinst_PROGRAMS)'; for p in $$list; do \
	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
	  echo " rm -f $$p $$f"; \
	  rm -f $$p $$f ; \
	done
c14n$(EXEEXT): $(c14n_OBJECTS) $(c14n_DEPENDENCIES) 
	@rm -f c14n$(EXEEXT)
	$(CXXLINK) $(c14n_LDFLAGS) $(c14n_OBJECTS) $(c14n_LDADD) $(LIBS)
checksig$(EXEEXT): $(checksig_OBJECTS) $(checksig_DEPENDENCIES) 
	@rm -f checksig$(EXEEXT)
	$(CXXLINK) $(checksig_LDFLAGS) $(checksig_OBJECTS) $(checksig_LDADD) $(LIBS)
cipher$(EXEEXT): $(cipher_OBJECTS) $(cipher_DEPENDENCIES) 
	@rm -f cipher$(EXEEXT)
	$(CXXLINK) $(cipher_LDFLAGS) $(cipher_OBJECTS) $(cipher_LDADD) $(LIBS)
siginf$(EXEEXT): $(siginf_OBJECTS) $(siginf_DEPENDENCIES) 
	@rm -f siginf$(EXEEXT)
	$(CXXLINK) $(siginf_LDFLAGS) $(siginf_OBJECTS) $(siginf_LDADD) $(LIBS)
simpleDecrypt$(EXEEXT): $(simpleDecrypt_OBJECTS) $(simpleDecrypt_DEPENDENCIES) 
	@rm -f simpleDecrypt$(EXEEXT)
	$(CXXLINK) $(simpleDecrypt_LDFLAGS) $(simpleDecrypt_OBJECTS) $(simpleDecrypt_LDADD) $(LIBS)
simpleEncrypt$(EXEEXT): $(simpleEncrypt_OBJECTS) $(simpleEncrypt_DEPENDENCIES) 
	@rm -f simpleEncrypt$(EXEEXT)
	$(CXXLINK) $(simpleEncrypt_LDFLAGS) $(simpleEncrypt_OBJECTS) $(simpleEncrypt_LDADD) $(LIBS)
simpleHMAC$(EXEEXT): $(simpleHMAC_OBJECTS) $(simpleHMAC_DEPENDENCIES) 
	@rm -f simpleHMAC$(EXEEXT)
	$(CXXLINK) $(simpleHMAC_LDFLAGS) $(simpleHMAC_OBJECTS) $(simpleHMAC_LDADD) $(LIBS)
simpleValidate$(EXEEXT): $(simpleValidate_OBJECTS) $(simpleValidate_DEPENDENCIES) 
	@rm -f simpleValidate$(EXEEXT)
	$(CXXLINK) $(simpleValidate_LDFLAGS) $(simpleValidate_OBJECTS) $(simpleValidate_LDADD) $(LIBS)
templatesign$(EXEEXT): $(templatesign_OBJECTS) $(templatesign_DEPENDENCIES) 
	@rm -f templatesign$(EXEEXT)
	$(CXXLINK) $(templatesign_LDFLAGS) $(templatesign_OBJECTS) $(templatesign_LDADD) $(LIBS)
txfmout$(EXEEXT): $(txfmout_OBJECTS) $(txfmout_DEPENDENCIES) 
	@rm -f txfmout$(EXEEXT)
	$(CXXLINK) $(txfmout_LDFLAGS) $(txfmout_OBJECTS) $(txfmout_LDADD) $(LIBS)
xklient$(EXEEXT): $(xklient_OBJECTS) $(xklient_DEPENDENCIES) 
	@rm -f xklient$(EXEEXT)
	$(CXXLINK) $(xklient_LDFLAGS) $(xklient_OBJECTS) $(xklient_LDADD) $(LIBS)
xtest$(EXEEXT): $(xtest_OBJECTS) $(xtest_DEPENDENCIES) 
	@rm -f xtest$(EXEEXT)
	$(CXXLINK) $(xtest_LDFLAGS) $(xtest_OBJECTS) $(xtest_LDADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT)

distclean-compile:
	-rm -f *.tab.c

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AnonymousResolver.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IOStreamOutputter.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InteropResolver.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XencInteropResolver.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c14n.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checksig.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cipher.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/siginf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simpleDecrypt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simpleEncrypt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simpleHMAC.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simpleValidate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/templatesign.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/txfmout.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xklient.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xtest.Po@am__quote@

.cpp.o:
@am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<

.cpp.obj:
@am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`

.cpp.lo:
@am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<

c14n.o: ../src/tools/c14n/c14n.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT c14n.o -MD -MP -MF "$(DEPDIR)/c14n.Tpo" -c -o c14n.o `test -f '../src/tools/c14n/c14n.cpp' || echo '$(srcdir)/'`../src/tools/c14n/c14n.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/c14n.Tpo" "$(DEPDIR)/c14n.Po"; else rm -f "$(DEPDIR)/c14n.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/c14n/c14n.cpp' object='c14n.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o c14n.o `test -f '../src/tools/c14n/c14n.cpp' || echo '$(srcdir)/'`../src/tools/c14n/c14n.cpp

c14n.obj: ../src/tools/c14n/c14n.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT c14n.obj -MD -MP -MF "$(DEPDIR)/c14n.Tpo" -c -o c14n.obj `if test -f '../src/tools/c14n/c14n.cpp'; then $(CYGPATH_W) '../src/tools/c14n/c14n.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/c14n/c14n.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/c14n.Tpo" "$(DEPDIR)/c14n.Po"; else rm -f "$(DEPDIR)/c14n.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/c14n/c14n.cpp' object='c14n.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o c14n.obj `if test -f '../src/tools/c14n/c14n.cpp'; then $(CYGPATH_W) '../src/tools/c14n/c14n.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/c14n/c14n.cpp'; fi`

checksig.o: ../src/tools/checksig/checksig.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT checksig.o -MD -MP -MF "$(DEPDIR)/checksig.Tpo" -c -o checksig.o `test -f '../src/tools/checksig/checksig.cpp' || echo '$(srcdir)/'`../src/tools/checksig/checksig.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/checksig.Tpo" "$(DEPDIR)/checksig.Po"; else rm -f "$(DEPDIR)/checksig.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/checksig/checksig.cpp' object='checksig.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o checksig.o `test -f '../src/tools/checksig/checksig.cpp' || echo '$(srcdir)/'`../src/tools/checksig/checksig.cpp

checksig.obj: ../src/tools/checksig/checksig.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT checksig.obj -MD -MP -MF "$(DEPDIR)/checksig.Tpo" -c -o checksig.obj `if test -f '../src/tools/checksig/checksig.cpp'; then $(CYGPATH_W) '../src/tools/checksig/checksig.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/checksig/checksig.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/checksig.Tpo" "$(DEPDIR)/checksig.Po"; else rm -f "$(DEPDIR)/checksig.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/checksig/checksig.cpp' object='checksig.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o checksig.obj `if test -f '../src/tools/checksig/checksig.cpp'; then $(CYGPATH_W) '../src/tools/checksig/checksig.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/checksig/checksig.cpp'; fi`

AnonymousResolver.o: ../src/tools/checksig/AnonymousResolver.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AnonymousResolver.o -MD -MP -MF "$(DEPDIR)/AnonymousResolver.Tpo" -c -o AnonymousResolver.o `test -f '../src/tools/checksig/AnonymousResolver.cpp' || echo '$(srcdir)/'`../src/tools/checksig/AnonymousResolver.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/AnonymousResolver.Tpo" "$(DEPDIR)/AnonymousResolver.Po"; else rm -f "$(DEPDIR)/AnonymousResolver.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/checksig/AnonymousResolver.cpp' object='AnonymousResolver.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AnonymousResolver.o `test -f '../src/tools/checksig/AnonymousResolver.cpp' || echo '$(srcdir)/'`../src/tools/checksig/AnonymousResolver.cpp

AnonymousResolver.obj: ../src/tools/checksig/AnonymousResolver.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT AnonymousResolver.obj -MD -MP -MF "$(DEPDIR)/AnonymousResolver.Tpo" -c -o AnonymousResolver.obj `if test -f '../src/tools/checksig/AnonymousResolver.cpp'; then $(CYGPATH_W) '../src/tools/checksig/AnonymousResolver.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/checksig/AnonymousResolver.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/AnonymousResolver.Tpo" "$(DEPDIR)/AnonymousResolver.Po"; else rm -f "$(DEPDIR)/AnonymousResolver.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/checksig/AnonymousResolver.cpp' object='AnonymousResolver.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o AnonymousResolver.obj `if test -f '../src/tools/checksig/AnonymousResolver.cpp'; then $(CYGPATH_W) '../src/tools/checksig/AnonymousResolver.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/checksig/AnonymousResolver.cpp'; fi`

InteropResolver.o: ../src/tools/checksig/InteropResolver.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT InteropResolver.o -MD -MP -MF "$(DEPDIR)/InteropResolver.Tpo" -c -o InteropResolver.o `test -f '../src/tools/checksig/InteropResolver.cpp' || echo '$(srcdir)/'`../src/tools/checksig/InteropResolver.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/InteropResolver.Tpo" "$(DEPDIR)/InteropResolver.Po"; else rm -f "$(DEPDIR)/InteropResolver.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/checksig/InteropResolver.cpp' object='InteropResolver.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o InteropResolver.o `test -f '../src/tools/checksig/InteropResolver.cpp' || echo '$(srcdir)/'`../src/tools/checksig/InteropResolver.cpp

InteropResolver.obj: ../src/tools/checksig/InteropResolver.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT InteropResolver.obj -MD -MP -MF "$(DEPDIR)/InteropResolver.Tpo" -c -o InteropResolver.obj `if test -f '../src/tools/checksig/InteropResolver.cpp'; then $(CYGPATH_W) '../src/tools/checksig/InteropResolver.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/checksig/InteropResolver.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/InteropResolver.Tpo" "$(DEPDIR)/InteropResolver.Po"; else rm -f "$(DEPDIR)/InteropResolver.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/checksig/InteropResolver.cpp' object='InteropResolver.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o InteropResolver.obj `if test -f '../src/tools/checksig/InteropResolver.cpp'; then $(CYGPATH_W) '../src/tools/checksig/InteropResolver.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/checksig/InteropResolver.cpp'; fi`

cipher.o: ../src/tools/cipher/cipher.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cipher.o -MD -MP -MF "$(DEPDIR)/cipher.Tpo" -c -o cipher.o `test -f '../src/tools/cipher/cipher.cpp' || echo '$(srcdir)/'`../src/tools/cipher/cipher.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/cipher.Tpo" "$(DEPDIR)/cipher.Po"; else rm -f "$(DEPDIR)/cipher.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/cipher/cipher.cpp' object='cipher.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cipher.o `test -f '../src/tools/cipher/cipher.cpp' || echo '$(srcdir)/'`../src/tools/cipher/cipher.cpp

cipher.obj: ../src/tools/cipher/cipher.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cipher.obj -MD -MP -MF "$(DEPDIR)/cipher.Tpo" -c -o cipher.obj `if test -f '../src/tools/cipher/cipher.cpp'; then $(CYGPATH_W) '../src/tools/cipher/cipher.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/cipher/cipher.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/cipher.Tpo" "$(DEPDIR)/cipher.Po"; else rm -f "$(DEPDIR)/cipher.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/cipher/cipher.cpp' object='cipher.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cipher.obj `if test -f '../src/tools/cipher/cipher.cpp'; then $(CYGPATH_W) '../src/tools/cipher/cipher.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/cipher/cipher.cpp'; fi`

XencInteropResolver.o: ../src/tools/cipher/XencInteropResolver.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT XencInteropResolver.o -MD -MP -MF "$(DEPDIR)/XencInteropResolver.Tpo" -c -o XencInteropResolver.o `test -f '../src/tools/cipher/XencInteropResolver.cpp' || echo '$(srcdir)/'`../src/tools/cipher/XencInteropResolver.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/XencInteropResolver.Tpo" "$(DEPDIR)/XencInteropResolver.Po"; else rm -f "$(DEPDIR)/XencInteropResolver.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/cipher/XencInteropResolver.cpp' object='XencInteropResolver.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o XencInteropResolver.o `test -f '../src/tools/cipher/XencInteropResolver.cpp' || echo '$(srcdir)/'`../src/tools/cipher/XencInteropResolver.cpp

XencInteropResolver.obj: ../src/tools/cipher/XencInteropResolver.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT XencInteropResolver.obj -MD -MP -MF "$(DEPDIR)/XencInteropResolver.Tpo" -c -o XencInteropResolver.obj `if test -f '../src/tools/cipher/XencInteropResolver.cpp'; then $(CYGPATH_W) '../src/tools/cipher/XencInteropResolver.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/cipher/XencInteropResolver.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/XencInteropResolver.Tpo" "$(DEPDIR)/XencInteropResolver.Po"; else rm -f "$(DEPDIR)/XencInteropResolver.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/cipher/XencInteropResolver.cpp' object='XencInteropResolver.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o XencInteropResolver.obj `if test -f '../src/tools/cipher/XencInteropResolver.cpp'; then $(CYGPATH_W) '../src/tools/cipher/XencInteropResolver.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/cipher/XencInteropResolver.cpp'; fi`

siginf.o: ../src/tools/siginf/siginf.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT siginf.o -MD -MP -MF "$(DEPDIR)/siginf.Tpo" -c -o siginf.o `test -f '../src/tools/siginf/siginf.cpp' || echo '$(srcdir)/'`../src/tools/siginf/siginf.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/siginf.Tpo" "$(DEPDIR)/siginf.Po"; else rm -f "$(DEPDIR)/siginf.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/siginf/siginf.cpp' object='siginf.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o siginf.o `test -f '../src/tools/siginf/siginf.cpp' || echo '$(srcdir)/'`../src/tools/siginf/siginf.cpp

siginf.obj: ../src/tools/siginf/siginf.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT siginf.obj -MD -MP -MF "$(DEPDIR)/siginf.Tpo" -c -o siginf.obj `if test -f '../src/tools/siginf/siginf.cpp'; then $(CYGPATH_W) '../src/tools/siginf/siginf.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/siginf/siginf.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/siginf.Tpo" "$(DEPDIR)/siginf.Po"; else rm -f "$(DEPDIR)/siginf.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/siginf/siginf.cpp' object='siginf.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o siginf.obj `if test -f '../src/tools/siginf/siginf.cpp'; then $(CYGPATH_W) '../src/tools/siginf/siginf.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/siginf/siginf.cpp'; fi`

simpleDecrypt.o: ../src/samples/simpleDecrypt.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simpleDecrypt.o -MD -MP -MF "$(DEPDIR)/simpleDecrypt.Tpo" -c -o simpleDecrypt.o `test -f '../src/samples/simpleDecrypt.cpp' || echo '$(srcdir)/'`../src/samples/simpleDecrypt.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/simpleDecrypt.Tpo" "$(DEPDIR)/simpleDecrypt.Po"; else rm -f "$(DEPDIR)/simpleDecrypt.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/samples/simpleDecrypt.cpp' object='simpleDecrypt.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simpleDecrypt.o `test -f '../src/samples/simpleDecrypt.cpp' || echo '$(srcdir)/'`../src/samples/simpleDecrypt.cpp

simpleDecrypt.obj: ../src/samples/simpleDecrypt.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simpleDecrypt.obj -MD -MP -MF "$(DEPDIR)/simpleDecrypt.Tpo" -c -o simpleDecrypt.obj `if test -f '../src/samples/simpleDecrypt.cpp'; then $(CYGPATH_W) '../src/samples/simpleDecrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/samples/simpleDecrypt.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/simpleDecrypt.Tpo" "$(DEPDIR)/simpleDecrypt.Po"; else rm -f "$(DEPDIR)/simpleDecrypt.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/samples/simpleDecrypt.cpp' object='simpleDecrypt.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simpleDecrypt.obj `if test -f '../src/samples/simpleDecrypt.cpp'; then $(CYGPATH_W) '../src/samples/simpleDecrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/samples/simpleDecrypt.cpp'; fi`

IOStreamOutputter.o: ../src/samples/IOStreamOutputter.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT IOStreamOutputter.o -MD -MP -MF "$(DEPDIR)/IOStreamOutputter.Tpo" -c -o IOStreamOutputter.o `test -f '../src/samples/IOStreamOutputter.cpp' || echo '$(srcdir)/'`../src/samples/IOStreamOutputter.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/IOStreamOutputter.Tpo" "$(DEPDIR)/IOStreamOutputter.Po"; else rm -f "$(DEPDIR)/IOStreamOutputter.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/samples/IOStreamOutputter.cpp' object='IOStreamOutputter.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o IOStreamOutputter.o `test -f '../src/samples/IOStreamOutputter.cpp' || echo '$(srcdir)/'`../src/samples/IOStreamOutputter.cpp

IOStreamOutputter.obj: ../src/samples/IOStreamOutputter.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT IOStreamOutputter.obj -MD -MP -MF "$(DEPDIR)/IOStreamOutputter.Tpo" -c -o IOStreamOutputter.obj `if test -f '../src/samples/IOStreamOutputter.cpp'; then $(CYGPATH_W) '../src/samples/IOStreamOutputter.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/samples/IOStreamOutputter.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/IOStreamOutputter.Tpo" "$(DEPDIR)/IOStreamOutputter.Po"; else rm -f "$(DEPDIR)/IOStreamOutputter.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/samples/IOStreamOutputter.cpp' object='IOStreamOutputter.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o IOStreamOutputter.obj `if test -f '../src/samples/IOStreamOutputter.cpp'; then $(CYGPATH_W) '../src/samples/IOStreamOutputter.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/samples/IOStreamOutputter.cpp'; fi`

simpleEncrypt.o: ../src/samples/simpleEncrypt.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simpleEncrypt.o -MD -MP -MF "$(DEPDIR)/simpleEncrypt.Tpo" -c -o simpleEncrypt.o `test -f '../src/samples/simpleEncrypt.cpp' || echo '$(srcdir)/'`../src/samples/simpleEncrypt.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/simpleEncrypt.Tpo" "$(DEPDIR)/simpleEncrypt.Po"; else rm -f "$(DEPDIR)/simpleEncrypt.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/samples/simpleEncrypt.cpp' object='simpleEncrypt.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simpleEncrypt.o `test -f '../src/samples/simpleEncrypt.cpp' || echo '$(srcdir)/'`../src/samples/simpleEncrypt.cpp

simpleEncrypt.obj: ../src/samples/simpleEncrypt.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simpleEncrypt.obj -MD -MP -MF "$(DEPDIR)/simpleEncrypt.Tpo" -c -o simpleEncrypt.obj `if test -f '../src/samples/simpleEncrypt.cpp'; then $(CYGPATH_W) '../src/samples/simpleEncrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/samples/simpleEncrypt.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/simpleEncrypt.Tpo" "$(DEPDIR)/simpleEncrypt.Po"; else rm -f "$(DEPDIR)/simpleEncrypt.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/samples/simpleEncrypt.cpp' object='simpleEncrypt.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simpleEncrypt.obj `if test -f '../src/samples/simpleEncrypt.cpp'; then $(CYGPATH_W) '../src/samples/simpleEncrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/samples/simpleEncrypt.cpp'; fi`

simpleHMAC.o: ../src/samples/simpleHMAC.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simpleHMAC.o -MD -MP -MF "$(DEPDIR)/simpleHMAC.Tpo" -c -o simpleHMAC.o `test -f '../src/samples/simpleHMAC.cpp' || echo '$(srcdir)/'`../src/samples/simpleHMAC.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/simpleHMAC.Tpo" "$(DEPDIR)/simpleHMAC.Po"; else rm -f "$(DEPDIR)/simpleHMAC.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/samples/simpleHMAC.cpp' object='simpleHMAC.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simpleHMAC.o `test -f '../src/samples/simpleHMAC.cpp' || echo '$(srcdir)/'`../src/samples/simpleHMAC.cpp

simpleHMAC.obj: ../src/samples/simpleHMAC.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simpleHMAC.obj -MD -MP -MF "$(DEPDIR)/simpleHMAC.Tpo" -c -o simpleHMAC.obj `if test -f '../src/samples/simpleHMAC.cpp'; then $(CYGPATH_W) '../src/samples/simpleHMAC.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/samples/simpleHMAC.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/simpleHMAC.Tpo" "$(DEPDIR)/simpleHMAC.Po"; else rm -f "$(DEPDIR)/simpleHMAC.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/samples/simpleHMAC.cpp' object='simpleHMAC.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simpleHMAC.obj `if test -f '../src/samples/simpleHMAC.cpp'; then $(CYGPATH_W) '../src/samples/simpleHMAC.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/samples/simpleHMAC.cpp'; fi`

simpleValidate.o: ../src/samples/simpleValidate.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simpleValidate.o -MD -MP -MF "$(DEPDIR)/simpleValidate.Tpo" -c -o simpleValidate.o `test -f '../src/samples/simpleValidate.cpp' || echo '$(srcdir)/'`../src/samples/simpleValidate.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/simpleValidate.Tpo" "$(DEPDIR)/simpleValidate.Po"; else rm -f "$(DEPDIR)/simpleValidate.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/samples/simpleValidate.cpp' object='simpleValidate.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simpleValidate.o `test -f '../src/samples/simpleValidate.cpp' || echo '$(srcdir)/'`../src/samples/simpleValidate.cpp

simpleValidate.obj: ../src/samples/simpleValidate.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simpleValidate.obj -MD -MP -MF "$(DEPDIR)/simpleValidate.Tpo" -c -o simpleValidate.obj `if test -f '../src/samples/simpleValidate.cpp'; then $(CYGPATH_W) '../src/samples/simpleValidate.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/samples/simpleValidate.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/simpleValidate.Tpo" "$(DEPDIR)/simpleValidate.Po"; else rm -f "$(DEPDIR)/simpleValidate.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/samples/simpleValidate.cpp' object='simpleValidate.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simpleValidate.obj `if test -f '../src/samples/simpleValidate.cpp'; then $(CYGPATH_W) '../src/samples/simpleValidate.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/samples/simpleValidate.cpp'; fi`

templatesign.o: ../src/tools/templatesign/templatesign.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT templatesign.o -MD -MP -MF "$(DEPDIR)/templatesign.Tpo" -c -o templatesign.o `test -f '../src/tools/templatesign/templatesign.cpp' || echo '$(srcdir)/'`../src/tools/templatesign/templatesign.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/templatesign.Tpo" "$(DEPDIR)/templatesign.Po"; else rm -f "$(DEPDIR)/templatesign.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/templatesign/templatesign.cpp' object='templatesign.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o templatesign.o `test -f '../src/tools/templatesign/templatesign.cpp' || echo '$(srcdir)/'`../src/tools/templatesign/templatesign.cpp

templatesign.obj: ../src/tools/templatesign/templatesign.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT templatesign.obj -MD -MP -MF "$(DEPDIR)/templatesign.Tpo" -c -o templatesign.obj `if test -f '../src/tools/templatesign/templatesign.cpp'; then $(CYGPATH_W) '../src/tools/templatesign/templatesign.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/templatesign/templatesign.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/templatesign.Tpo" "$(DEPDIR)/templatesign.Po"; else rm -f "$(DEPDIR)/templatesign.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/templatesign/templatesign.cpp' object='templatesign.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o templatesign.obj `if test -f '../src/tools/templatesign/templatesign.cpp'; then $(CYGPATH_W) '../src/tools/templatesign/templatesign.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/templatesign/templatesign.cpp'; fi`

txfmout.o: ../src/tools/txfmout/txfmout.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT txfmout.o -MD -MP -MF "$(DEPDIR)/txfmout.Tpo" -c -o txfmout.o `test -f '../src/tools/txfmout/txfmout.cpp' || echo '$(srcdir)/'`../src/tools/txfmout/txfmout.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/txfmout.Tpo" "$(DEPDIR)/txfmout.Po"; else rm -f "$(DEPDIR)/txfmout.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/txfmout/txfmout.cpp' object='txfmout.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o txfmout.o `test -f '../src/tools/txfmout/txfmout.cpp' || echo '$(srcdir)/'`../src/tools/txfmout/txfmout.cpp

txfmout.obj: ../src/tools/txfmout/txfmout.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT txfmout.obj -MD -MP -MF "$(DEPDIR)/txfmout.Tpo" -c -o txfmout.obj `if test -f '../src/tools/txfmout/txfmout.cpp'; then $(CYGPATH_W) '../src/tools/txfmout/txfmout.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/txfmout/txfmout.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/txfmout.Tpo" "$(DEPDIR)/txfmout.Po"; else rm -f "$(DEPDIR)/txfmout.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/txfmout/txfmout.cpp' object='txfmout.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o txfmout.obj `if test -f '../src/tools/txfmout/txfmout.cpp'; then $(CYGPATH_W) '../src/tools/txfmout/txfmout.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/txfmout/txfmout.cpp'; fi`

xklient.o: ../src/tools/xklient/xklient.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT xklient.o -MD -MP -MF "$(DEPDIR)/xklient.Tpo" -c -o xklient.o `test -f '../src/tools/xklient/xklient.cpp' || echo '$(srcdir)/'`../src/tools/xklient/xklient.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/xklient.Tpo" "$(DEPDIR)/xklient.Po"; else rm -f "$(DEPDIR)/xklient.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/xklient/xklient.cpp' object='xklient.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o xklient.o `test -f '../src/tools/xklient/xklient.cpp' || echo '$(srcdir)/'`../src/tools/xklient/xklient.cpp

xklient.obj: ../src/tools/xklient/xklient.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT xklient.obj -MD -MP -MF "$(DEPDIR)/xklient.Tpo" -c -o xklient.obj `if test -f '../src/tools/xklient/xklient.cpp'; then $(CYGPATH_W) '../src/tools/xklient/xklient.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/xklient/xklient.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/xklient.Tpo" "$(DEPDIR)/xklient.Po"; else rm -f "$(DEPDIR)/xklient.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/xklient/xklient.cpp' object='xklient.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o xklient.obj `if test -f '../src/tools/xklient/xklient.cpp'; then $(CYGPATH_W) '../src/tools/xklient/xklient.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/xklient/xklient.cpp'; fi`

xtest.o: ../src/tools/xtest/xtest.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT xtest.o -MD -MP -MF "$(DEPDIR)/xtest.Tpo" -c -o xtest.o `test -f '../src/tools/xtest/xtest.cpp' || echo '$(srcdir)/'`../src/tools/xtest/xtest.cpp; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/xtest.Tpo" "$(DEPDIR)/xtest.Po"; else rm -f "$(DEPDIR)/xtest.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/xtest/xtest.cpp' object='xtest.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o xtest.o `test -f '../src/tools/xtest/xtest.cpp' || echo '$(srcdir)/'`../src/tools/xtest/xtest.cpp

xtest.obj: ../src/tools/xtest/xtest.cpp
@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT xtest.obj -MD -MP -MF "$(DEPDIR)/xtest.Tpo" -c -o xtest.obj `if test -f '../src/tools/xtest/xtest.cpp'; then $(CYGPATH_W) '../src/tools/xtest/xtest.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/xtest/xtest.cpp'; fi`; \
@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/xtest.Tpo" "$(DEPDIR)/xtest.Po"; else rm -f "$(DEPDIR)/xtest.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../src/tools/xtest/xtest.cpp' object='xtest.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o xtest.obj `if test -f '../src/tools/xtest/xtest.cpp'; then $(CYGPATH_W) '../src/tools/xtest/xtest.cpp'; else $(CYGPATH_W) '$(srcdir)/../src/tools/xtest/xtest.cpp'; fi`

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

distclean-libtool:
	-rm -f libtool
uninstall-info-am:

ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '    { files[$$0] = 1; } \
	       END { for (i in files) print i; }'`; \
	mkid -fID $$unique
tags: TAGS

TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	tags=; \
	here=`pwd`; \
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '    { files[$$0] = 1; } \
	       END { for (i in files) print i; }'`; \
	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	    $$tags $$unique; \
	fi
ctags: CTAGS
CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	tags=; \
	here=`pwd`; \
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '    { files[$$0] = 1; } \
	       END { for (i in files) print i; }'`; \
	test -z "$(CTAGS_ARGS)$$tags$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$tags $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && cd $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) $$here

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags

distdir: $(DISTFILES)
	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
	list='$(DISTFILES)'; for file in $$list; do \
	  case $$file in \
	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
	  esac; \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
	    dir="/$$dir"; \
	    $(mkdir_p) "$(distdir)$$dir"; \
	  else \
	    dir=''; \
	  fi; \
	  if test -d $$d/$$file; then \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
	    fi; \
	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
	  else \
	    test -f $(distdir)/$$file \
	    || cp -p $$d/$$file $(distdir)/$$file \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
	for dir in "$(DESTDIR)$(bindir)"; do \
	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
	done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	  `test -z '$(STRIP)' || \
	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:

clean-generic:

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean: clean-am

clean-am: clean-binPROGRAMS clean-generic clean-libtool \
	clean-noinstPROGRAMS mostlyclean-am

distclean: distclean-am
	-rm -rf ./$(DEPDIR)
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-libtool distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

info: info-am

info-am:

install-data-am:

install-exec-am: install-binPROGRAMS

install-info: install-info-am

install-man:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -rf ./$(DEPDIR)
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-binPROGRAMS uninstall-info-am

.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
	clean-generic clean-libtool clean-noinstPROGRAMS ctags \
	distclean distclean-compile distclean-generic \
	distclean-libtool distclean-tags distdir dvi dvi-am html \
	html-am info info-am install install-am install-binPROGRAMS \
	install-data install-data-am install-exec install-exec-am \
	install-info install-info-am install-man install-strip \
	installcheck installcheck-am installdirs maintainer-clean \
	maintainer-clean-generic mostlyclean mostlyclean-compile \
	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
	tags uninstall uninstall-am uninstall-binPROGRAMS \
	uninstall-info-am

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
