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

# Copyright (C) 1994-2013 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@

# This file is copied from http://www.gnu.org/software/autoconf-archive/ax_prog_doxygen.html



VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
  case $${target_option-} in \
      ?) ;; \
      *) echo "am__make_running_with_option: internal error: invalid" \
              "target option '$${target_option-}' specified" >&2; \
         exit 1;; \
  esac; \
  has_opt=no; \
  sane_makeflags=$$MAKEFLAGS; \
  if $(am__is_gnu_make); then \
    sane_makeflags=$$MFLAGS; \
  else \
    case $$MAKEFLAGS in \
      *\\[\ \	]*) \
        bs=\\; \
        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
    esac; \
  fi; \
  skip_next=no; \
  strip_trailopt () \
  { \
    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
  }; \
  for flg in $$sane_makeflags; do \
    test $$skip_next = yes && { skip_next=no; continue; }; \
    case $$flg in \
      *=*|--*) continue;; \
        -*I) strip_trailopt 'I'; skip_next=yes;; \
      -*I?*) strip_trailopt 'I';; \
        -*O) strip_trailopt 'O'; skip_next=yes;; \
      -*O?*) strip_trailopt 'O';; \
        -*l) strip_trailopt 'l'; skip_next=yes;; \
      -*l?*) strip_trailopt 'l';; \
      -[dEDm]) skip_next=yes;; \
      -[JT]) skip_next=yes;; \
    esac; \
    case $$flg in \
      *$$target_option*) has_opt=yes; break;; \
    esac; \
  done; \
  test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
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@
DIST_COMMON = $(srcdir)/aminclude.am $(srcdir)/Makefile.in \
	$(srcdir)/Makefile.am $(top_srcdir)/configure \
	$(am__configure_deps) $(dist_noinst_SCRIPTS) depcomp COPYING \
	INSTALL ar-lib compile config.guess config.sub install-sh \
	missing ltmain.sh
noinst_PROGRAMS = bin/test-encode-decode-forwarding-entry$(EXEEXT) \
	bin/test-encode-decode-interest$(EXEEXT) \
	bin/test-encode-decode-data$(EXEEXT) \
	bin/test-get-async$(EXEEXT) bin/test-publish-async$(EXEEXT)
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \
	$(top_srcdir)/m4/ax_lib_sqlite3.m4 \
	$(top_srcdir)/m4/ax_prefix_config_h.m4 \
	$(top_srcdir)/m4/ax_prog_doxygen.m4 \
	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
 configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
    *) f=$$p;; \
  esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
  for p in $$list; do echo "$$p $$p"; done | \
  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
    if (++n[$$2] == $(am__install_max)) \
      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
    END { for (dir in files) print dir, files[dir] }'
am__base_list = \
  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
  test -z "$$files" \
    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
         $(am__cd) "$$dir" && rm -f $$files; }; \
  }
am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
libndn_c_la_LIBADD =
am__objects_1 =
am__dirstamp = $(am__leading_dot)dirstamp
am_libndn_c_la_OBJECTS = $(am__objects_1) src/c/errors.lo \
	src/c/forwarding-flags.lo src/c/interest.lo src/c/name.lo \
	src/c/encoding/binary-xml-data.lo \
	src/c/encoding/binary-xml-decoder.lo \
	src/c/encoding/binary-xml-element-reader.lo \
	src/c/encoding/binary-xml-encoder.lo \
	src/c/encoding/binary-xml-forwarding-entry.lo \
	src/c/encoding/binary-xml-interest.lo \
	src/c/encoding/binary-xml-key.lo \
	src/c/encoding/binary-xml-name.lo \
	src/c/encoding/binary-xml-publisher-public-key-digest.lo \
	src/c/encoding/binary-xml-structure-decoder.lo \
	src/c/transport/socket-transport.lo src/c/util/crypto.lo \
	src/c/util/dynamic-uint8-array.lo src/c/util/ndn_memory.lo \
	src/c/util/ndn_realloc.lo src/c/util/time.lo
libndn_c_la_OBJECTS = $(am_libndn_c_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 = 
libndn_cpp_la_LIBADD =
am__objects_2 = $(am__objects_1) src/c/errors.lo \
	src/c/forwarding-flags.lo src/c/interest.lo src/c/name.lo \
	src/c/encoding/binary-xml-data.lo \
	src/c/encoding/binary-xml-decoder.lo \
	src/c/encoding/binary-xml-element-reader.lo \
	src/c/encoding/binary-xml-encoder.lo \
	src/c/encoding/binary-xml-forwarding-entry.lo \
	src/c/encoding/binary-xml-interest.lo \
	src/c/encoding/binary-xml-key.lo \
	src/c/encoding/binary-xml-name.lo \
	src/c/encoding/binary-xml-publisher-public-key-digest.lo \
	src/c/encoding/binary-xml-structure-decoder.lo \
	src/c/transport/socket-transport.lo src/c/util/crypto.lo \
	src/c/util/dynamic-uint8-array.lo src/c/util/ndn_memory.lo \
	src/c/util/ndn_realloc.lo src/c/util/time.lo
am_libndn_cpp_la_OBJECTS = $(am__objects_2) $(am__objects_1) \
	src/common.lo src/data.lo src/face.lo src/forwarding-entry.lo \
	src/interest.lo src/key.lo src/name.lo src/node.lo \
	src/publisher-public-key-digest.lo \
	src/sha256-with-rsa-signature.lo \
	src/encoding/binary-xml-wire-format.lo \
	src/encoding/element-listener.lo src/encoding/oid.lo \
	src/encoding/wire-format.lo src/encoding/der/der-exception.lo \
	src/encoding/der/der.lo \
	src/encoding/der/visitor/certificate-data-visitor.lo \
	src/encoding/der/visitor/no-arguments-visitor.lo \
	src/encoding/der/visitor/print-visitor.lo \
	src/encoding/der/visitor/public-key-visitor.lo \
	src/encoding/der/visitor/simple-visitor.lo \
	src/encoding/der/visitor/void-visitor.lo \
	src/security/key-chain.lo src/security/security-exception.lo \
	src/security/certificate/certificate-extension.lo \
	src/security/certificate/certificate-subject-description.lo \
	src/security/certificate/certificate.lo \
	src/security/certificate/identity-certificate.lo \
	src/security/certificate/public-key.lo \
	src/security/identity/basic-identity-storage.lo \
	src/security/identity/identity-manager.lo \
	src/security/identity/identity-storage.lo \
	src/security/identity/memory-identity-storage.lo \
	src/security/identity/memory-private-key-storage.lo \
	src/security/identity/osx-private-key-storage.lo \
	src/security/policy/no-verify-policy-manager.lo \
	src/transport/tcp-transport.lo src/transport/transport.lo \
	src/transport/udp-transport.lo src/util/blob.lo \
	src/util/changed-event.lo src/util/dynamic-uint8-vector.lo \
	src/util/logging.lo
libndn_cpp_la_OBJECTS = $(am_libndn_cpp_la_OBJECTS)
PROGRAMS = $(noinst_PROGRAMS)
am_bin_test_encode_decode_data_OBJECTS =  \
	tests/test-encode-decode-data.$(OBJEXT)
bin_test_encode_decode_data_OBJECTS =  \
	$(am_bin_test_encode_decode_data_OBJECTS)
bin_test_encode_decode_data_DEPENDENCIES = libndn-cpp.la
am_bin_test_encode_decode_forwarding_entry_OBJECTS =  \
	tests/test-encode-decode-forwarding-entry.$(OBJEXT)
bin_test_encode_decode_forwarding_entry_OBJECTS =  \
	$(am_bin_test_encode_decode_forwarding_entry_OBJECTS)
bin_test_encode_decode_forwarding_entry_DEPENDENCIES = libndn-cpp.la
am_bin_test_encode_decode_interest_OBJECTS =  \
	tests/test-encode-decode-interest.$(OBJEXT)
bin_test_encode_decode_interest_OBJECTS =  \
	$(am_bin_test_encode_decode_interest_OBJECTS)
bin_test_encode_decode_interest_DEPENDENCIES = libndn-cpp.la
am_bin_test_get_async_OBJECTS = tests/test-get-async.$(OBJEXT)
bin_test_get_async_OBJECTS = $(am_bin_test_get_async_OBJECTS)
bin_test_get_async_DEPENDENCIES = libndn-cpp.la
am_bin_test_publish_async_OBJECTS =  \
	tests/test-publish-async.$(OBJEXT)
bin_test_publish_async_OBJECTS = $(am_bin_test_publish_async_OBJECTS)
bin_test_publish_async_DEPENDENCIES = libndn-cpp.la
SCRIPTS = $(dist_noinst_SCRIPTS)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo "  GEN     " $@;
am__v_GEN_1 = 
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 = 
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo "  CC      " $@;
am__v_CC_1 = 
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo "  CCLD    " $@;
am__v_CCLD_1 = 
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CXXFLAGS) $(CXXFLAGS)
AM_V_CXX = $(am__v_CXX_@AM_V@)
am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
am__v_CXX_0 = @echo "  CXX     " $@;
am__v_CXX_1 = 
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
am__v_CXXLD_0 = @echo "  CXXLD   " $@;
am__v_CXXLD_1 = 
SOURCES = $(libndn_c_la_SOURCES) $(libndn_cpp_la_SOURCES) \
	$(bin_test_encode_decode_data_SOURCES) \
	$(bin_test_encode_decode_forwarding_entry_SOURCES) \
	$(bin_test_encode_decode_interest_SOURCES) \
	$(bin_test_get_async_SOURCES) \
	$(bin_test_publish_async_SOURCES)
DIST_SOURCES = $(libndn_c_la_SOURCES) $(libndn_cpp_la_SOURCES) \
	$(bin_test_encode_decode_data_SOURCES) \
	$(bin_test_encode_decode_forwarding_entry_SOURCES) \
	$(bin_test_encode_decode_interest_SOURCES) \
	$(bin_test_get_async_SOURCES) \
	$(bin_test_publish_async_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
	ctags-recursive dvi-recursive html-recursive info-recursive \
	install-data-recursive install-dvi-recursive \
	install-exec-recursive install-html-recursive \
	install-info-recursive install-pdf-recursive \
	install-ps-recursive install-recursive installcheck-recursive \
	installdirs-recursive pdf-recursive ps-recursive \
	tags-recursive uninstall-recursive
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
  distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
  $(RECURSIVE_TARGETS) \
  $(RECURSIVE_CLEAN_TARGETS) \
  $(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
	cscope distdir dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates.  Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
  BEGIN { nonempty = 0; } \
  { items[$$0] = 1; nonempty = 1; } \
  END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique.  This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
  list='$(am__tagged_files)'; \
  unique=`for i in $$list; do \
    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
  if test -d "$(distdir)"; then \
    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
      && rm -rf "$(distdir)" \
      || { sleep 5 && rm -rf "$(distdir)"; }; \
  else :; fi
am__post_remove_distdir = $(am__remove_distdir)
am__relativize = \
  dir0=`pwd`; \
  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
  sed_rest='s,^[^/]*/*,,'; \
  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
  sed_butlast='s,/*[^/]*$$,,'; \
  while test -n "$$dir1"; do \
    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
    if test "$$first" != "."; then \
      if test "$$first" = ".."; then \
        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
      else \
        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
        if test "$$first2" = "$$first"; then \
          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
        else \
          dir2="../$$dir2"; \
        fi; \
        dir0="$$dir0"/"$$first"; \
      fi; \
    fi; \
    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
  done; \
  reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
DIST_TARGETS = dist-gzip
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
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@
DLLTOOL = @DLLTOOL@
DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
DX_CONFIG = @DX_CONFIG@
DX_DOCDIR = @DX_DOCDIR@
DX_DOT = @DX_DOT@
DX_DOXYGEN = @DX_DOXYGEN@
DX_DVIPS = @DX_DVIPS@
DX_EGREP = @DX_EGREP@
DX_ENV = @DX_ENV@
DX_FLAG_chi = @DX_FLAG_chi@
DX_FLAG_chm = @DX_FLAG_chm@
DX_FLAG_doc = @DX_FLAG_doc@
DX_FLAG_dot = @DX_FLAG_dot@
DX_FLAG_html = @DX_FLAG_html@
DX_FLAG_man = @DX_FLAG_man@
DX_FLAG_pdf = @DX_FLAG_pdf@
DX_FLAG_ps = @DX_FLAG_ps@
DX_FLAG_rtf = @DX_FLAG_rtf@
DX_FLAG_xml = @DX_FLAG_xml@
DX_HHC = @DX_HHC@
DX_LATEX = @DX_LATEX@
DX_MAKEINDEX = @DX_MAKEINDEX@
DX_PDFLATEX = @DX_PDFLATEX@
DX_PERL = @DX_PERL@
DX_PROJECT = @DX_PROJECT@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
HAVE_CXX11 = @HAVE_CXX11@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJCXX = @OBJCXX@
OBJCXXDEPMODE = @OBJCXXDEPMODE@
OBJCXXFLAGS = @OBJCXXFLAGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SQLITE3_CFLAGS = @SQLITE3_CFLAGS@
SQLITE3_LDFLAGS = @SQLITE3_LDFLAGS@
SQLITE3_VERSION = @SQLITE3_VERSION@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJCXX = @ac_ct_OBJCXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@DX_COND_doc_TRUE@@DX_COND_html_TRUE@DX_CLEAN_HTML = @DX_DOCDIR@/html
@DX_COND_chm_TRUE@@DX_COND_doc_TRUE@DX_CLEAN_CHM = @DX_DOCDIR@/chm
@DX_COND_chi_TRUE@@DX_COND_chm_TRUE@@DX_COND_doc_TRUE@DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi
@DX_COND_doc_TRUE@@DX_COND_man_TRUE@DX_CLEAN_MAN = @DX_DOCDIR@/man
@DX_COND_doc_TRUE@@DX_COND_rtf_TRUE@DX_CLEAN_RTF = @DX_DOCDIR@/rtf
@DX_COND_doc_TRUE@@DX_COND_xml_TRUE@DX_CLEAN_XML = @DX_DOCDIR@/xml
@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps
@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@DX_PS_GOAL = doxygen-ps
@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf
@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@DX_PDF_GOAL = doxygen-pdf
@DX_COND_doc_TRUE@@DX_COND_latex_TRUE@DX_CLEAN_LATEX = @DX_DOCDIR@/latex
@DX_COND_doc_TRUE@DX_CLEANFILES = \
@DX_COND_doc_TRUE@    @DX_DOCDIR@/@PACKAGE@.tag \
@DX_COND_doc_TRUE@    -r \
@DX_COND_doc_TRUE@    $(DX_CLEAN_HTML) \
@DX_COND_doc_TRUE@    $(DX_CLEAN_CHM) \
@DX_COND_doc_TRUE@    $(DX_CLEAN_CHI) \
@DX_COND_doc_TRUE@    $(DX_CLEAN_MAN) \
@DX_COND_doc_TRUE@    $(DX_CLEAN_RTF) \
@DX_COND_doc_TRUE@    $(DX_CLEAN_XML) \
@DX_COND_doc_TRUE@    $(DX_CLEAN_PS) \
@DX_COND_doc_TRUE@    $(DX_CLEAN_PDF) \
@DX_COND_doc_TRUE@    $(DX_CLEAN_LATEX)

AUTOMAKE_OPTIONS = subdir-objects
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4

# "make install" will also install the include headers.
SUBDIRS = include
lib_LTLIBRARIES = libndn-c.la libndn-cpp.la

# Public C headers.
ndn_cpp_c_headers = \
  include/ndn-cpp/ndn-cpp-config.h \
  include/ndn-cpp/c/common.h \
  include/ndn-cpp/c/data-types.h \
  include/ndn-cpp/c/forwarding-flags.h \
  include/ndn-cpp/c/interest-types.h \
  include/ndn-cpp/c/key-types.h \
  include/ndn-cpp/c/encoding/element-listener.h


# Public C++ headers.
ndn_cpp_cpp_headers = \
  include/ndn-cpp/common.hpp \
  include/ndn-cpp/data.hpp \
  include/ndn-cpp/face.hpp \
  include/ndn-cpp/forwarding-entry.hpp \
  include/ndn-cpp/forwarding-flags.hpp \
  include/ndn-cpp/interest.hpp \
  include/ndn-cpp/key.hpp \
  include/ndn-cpp/name.hpp \
  include/ndn-cpp/node.hpp \
  include/ndn-cpp/publisher-public-key-digest.hpp \
  include/ndn-cpp/sha256-with-rsa-signature.hpp \
  include/ndn-cpp/encoding/binary-xml-wire-format.hpp \
  include/ndn-cpp/encoding/element-listener.hpp \
  include/ndn-cpp/encoding/oid.hpp \
  include/ndn-cpp/encoding/wire-format.hpp \
  include/ndn-cpp/security/security-common.hpp \
  include/ndn-cpp/security/key-chain.hpp \
  include/ndn-cpp/security/security-exception.hpp \
  include/ndn-cpp/security/certificate/certificate-extension.hpp \
  include/ndn-cpp/security/certificate/certificate-subject-description.hpp \
  include/ndn-cpp/security/certificate/certificate.hpp \
  include/ndn-cpp/security/certificate/identity-certificate.hpp \
  include/ndn-cpp/security/certificate/public-key.hpp \
  include/ndn-cpp/security/encryption/encryption-manager.hpp \
  include/ndn-cpp/security/identity/basic-identity-storage.hpp \
  include/ndn-cpp/security/identity/identity-manager.hpp \
  include/ndn-cpp/security/identity/identity-storage.hpp \
  include/ndn-cpp/security/identity/memory-identity-storage.hpp \
  include/ndn-cpp/security/identity/memory-private-key-storage.hpp \
  include/ndn-cpp/security/identity/osx-private-key-storage.hpp \
  include/ndn-cpp/security/identity/private-key-storage.hpp \
  include/ndn-cpp/security/policy/no-verify-policy-manager.hpp \
  include/ndn-cpp/security/policy/policy-manager.hpp \
  include/ndn-cpp/transport/tcp-transport.hpp \
  include/ndn-cpp/transport/transport.hpp \
  include/ndn-cpp/transport/udp-transport.hpp \
  include/ndn-cpp/util/blob.hpp \
  include/ndn-cpp/util/signed-blob.hpp


# Just the C code.
libndn_c_la_SOURCES = $(ndn_cpp_c_headers) \
  src/c/data.h \
  src/c/errors.c src/c/errors.h \
  src/c/forwarding-entry.h \
  src/c/forwarding-flags.c \
  src/c/interest.c src/c/interest.h \
  src/c/name.c src/c/name.h \
  src/c/publisher-public-key-digest.h \
  src/c/encoding/binary-xml.h \
  src/c/encoding/binary-xml-data.c src/c/encoding/binary-xml-data.h \
  src/c/encoding/binary-xml-decoder.c src/c/encoding/binary-xml-decoder.h \
  src/c/encoding/binary-xml-element-reader.c src/c/encoding/binary-xml-element-reader.h \
  src/c/encoding/binary-xml-encoder.c src/c/encoding/binary-xml-encoder.h \
  src/c/encoding/binary-xml-forwarding-entry.c src/c/encoding/binary-xml-forwarding-entry.h \
  src/c/encoding/binary-xml-interest.c src/c/encoding/binary-xml-interest.h \
  src/c/encoding/binary-xml-key.c src/c/encoding/binary-xml-key.h \
  src/c/encoding/binary-xml-name.c src/c/encoding/binary-xml-name.h \
  src/c/encoding/binary-xml-publisher-public-key-digest.c src/c/encoding/binary-xml-publisher-public-key-digest.h \
  src/c/encoding/binary-xml-structure-decoder.c src/c/encoding/binary-xml-structure-decoder.h \
  src/c/transport/socket-transport.c src/c/transport/socket-transport.h \
  src/c/transport/tcp-transport.h \
  src/c/transport/udp-transport.h \
  src/c/util/blob.h \
  src/c/util/crypto.c src/c/util/crypto.h \
  src/c/util/dynamic-uint8-array.c src/c/util/dynamic-uint8-array.h \
  src/c/util/ndn_memory.c src/c/util/ndn_memory.h \
  src/c/util/ndn_realloc.c src/c/util/ndn_realloc.h \
  src/c/util/time.c src/c/util/time.h


# C++ code and also the C code.
libndn_cpp_la_SOURCES = $(libndn_c_la_SOURCES) $(ndn_cpp_cpp_headers) \
  src/common.cpp \
  src/data.cpp \
  src/face.cpp \
  src/forwarding-entry.cpp \
  src/interest.cpp \
  src/key.cpp \
  src/name.cpp \
  src/node.cpp \
  src/publisher-public-key-digest.cpp \
  src/sha256-with-rsa-signature.cpp \
  src/encoding/binary-xml-decoder.hpp \
  src/encoding/binary-xml-encoder.hpp \
  src/encoding/binary-xml-structure-decoder.hpp \
  src/encoding/binary-xml-wire-format.cpp \
  src/encoding/element-listener.cpp \
  src/encoding/oid.cpp \
  src/encoding/wire-format.cpp \
  src/encoding/der/der-exception.cpp src/encoding/der/der-exception.hpp \
  src/encoding/der/der.cpp src/encoding/der/der.hpp \
  src/encoding/der/visitor/certificate-data-visitor.cpp src/encoding/der/visitor/certificate-data-visitor.hpp \
  src/encoding/der/visitor/no-arguments-visitor.cpp src/encoding/der/visitor/no-arguments-visitor.hpp \
  src/encoding/der/visitor/print-visitor.cpp src/encoding/der/visitor/print-visitor.hpp \
  src/encoding/der/visitor/public-key-visitor.cpp src/encoding/der/visitor/public-key-visitor.hpp \
  src/encoding/der/visitor/simple-visitor.cpp src/encoding/der/visitor/simple-visitor.hpp \
  src/encoding/der/visitor/visitor.hpp \
  src/encoding/der/visitor/void-no-arguments-visitor.hpp \
  src/encoding/der/visitor/void-visitor.cpp src/encoding/der/visitor/void-visitor.hpp \
  src/security/key-chain.cpp \
  src/security/security-exception.cpp \
  src/security/certificate/certificate-extension.cpp \
  src/security/certificate/certificate-subject-description.cpp \
  src/security/certificate/certificate.cpp \
  src/security/certificate/identity-certificate.cpp \
  src/security/certificate/public-key.cpp \
  src/security/identity/basic-identity-storage.cpp \
  src/security/identity/identity-manager.cpp \
  src/security/identity/identity-storage.cpp \
  src/security/identity/memory-identity-storage.cpp \
  src/security/identity/memory-private-key-storage.cpp \
  src/security/identity/osx-private-key-storage.cpp \
  src/security/policy/no-verify-policy-manager.cpp \
  src/transport/tcp-transport.cpp \
  src/transport/transport.cpp \
  src/transport/udp-transport.cpp \
  src/util/blob-stream.hpp \
  src/util/blob.cpp \
  src/util/changed-event.cpp src/util/changed-event.hpp \
  src/util/dynamic-uint8-vector.cpp src/util/dynamic-uint8-vector.hpp \
  src/util/logging.cpp src/util/logging.hpp

bin_test_encode_decode_forwarding_entry_SOURCES = tests/test-encode-decode-forwarding-entry.cpp
bin_test_encode_decode_forwarding_entry_LDADD = libndn-cpp.la
bin_test_encode_decode_interest_SOURCES = tests/test-encode-decode-interest.cpp
bin_test_encode_decode_interest_LDADD = libndn-cpp.la
bin_test_encode_decode_data_SOURCES = tests/test-encode-decode-data.cpp
bin_test_encode_decode_data_LDADD = libndn-cpp.la
bin_test_get_async_SOURCES = tests/test-get-async.cpp
bin_test_get_async_LDADD = libndn-cpp.la
bin_test_publish_async_SOURCES = tests/test-publish-async.cpp
bin_test_publish_async_LDADD = libndn-cpp.la
dist_noinst_SCRIPTS = autogen.sh
all: all-recursive

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

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	$(SHELL) ./config.status --recheck

$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):

install-libLTLIBRARIES: $(lib_LTLIBRARIES)
	@$(NORMAL_INSTALL)
	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
	list2=; for p in $$list; do \
	  if test -f $$p; then \
	    list2="$$list2 $$p"; \
	  else :; fi; \
	done; \
	test -z "$$list2" || { \
	  echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
	}

uninstall-libLTLIBRARIES:
	@$(NORMAL_UNINSTALL)
	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
	for p in $$list; do \
	  $(am__strip_dir) \
	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
	done

clean-libLTLIBRARIES:
	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
	@list='$(lib_LTLIBRARIES)'; \
	locs=`for p in $$list; do echo $$p; done | \
	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
	      sort -u`; \
	test -z "$$locs" || { \
	  echo rm -f $${locs}; \
	  rm -f $${locs}; \
	}
src/c/$(am__dirstamp):
	@$(MKDIR_P) src/c
	@: > src/c/$(am__dirstamp)
src/c/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) src/c/$(DEPDIR)
	@: > src/c/$(DEPDIR)/$(am__dirstamp)
src/c/errors.lo: src/c/$(am__dirstamp) src/c/$(DEPDIR)/$(am__dirstamp)
src/c/forwarding-flags.lo: src/c/$(am__dirstamp) \
	src/c/$(DEPDIR)/$(am__dirstamp)
src/c/interest.lo: src/c/$(am__dirstamp) \
	src/c/$(DEPDIR)/$(am__dirstamp)
src/c/name.lo: src/c/$(am__dirstamp) src/c/$(DEPDIR)/$(am__dirstamp)
src/c/encoding/$(am__dirstamp):
	@$(MKDIR_P) src/c/encoding
	@: > src/c/encoding/$(am__dirstamp)
src/c/encoding/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) src/c/encoding/$(DEPDIR)
	@: > src/c/encoding/$(DEPDIR)/$(am__dirstamp)
src/c/encoding/binary-xml-data.lo: src/c/encoding/$(am__dirstamp) \
	src/c/encoding/$(DEPDIR)/$(am__dirstamp)
src/c/encoding/binary-xml-decoder.lo: src/c/encoding/$(am__dirstamp) \
	src/c/encoding/$(DEPDIR)/$(am__dirstamp)
src/c/encoding/binary-xml-element-reader.lo:  \
	src/c/encoding/$(am__dirstamp) \
	src/c/encoding/$(DEPDIR)/$(am__dirstamp)
src/c/encoding/binary-xml-encoder.lo: src/c/encoding/$(am__dirstamp) \
	src/c/encoding/$(DEPDIR)/$(am__dirstamp)
src/c/encoding/binary-xml-forwarding-entry.lo:  \
	src/c/encoding/$(am__dirstamp) \
	src/c/encoding/$(DEPDIR)/$(am__dirstamp)
src/c/encoding/binary-xml-interest.lo: src/c/encoding/$(am__dirstamp) \
	src/c/encoding/$(DEPDIR)/$(am__dirstamp)
src/c/encoding/binary-xml-key.lo: src/c/encoding/$(am__dirstamp) \
	src/c/encoding/$(DEPDIR)/$(am__dirstamp)
src/c/encoding/binary-xml-name.lo: src/c/encoding/$(am__dirstamp) \
	src/c/encoding/$(DEPDIR)/$(am__dirstamp)
src/c/encoding/binary-xml-publisher-public-key-digest.lo:  \
	src/c/encoding/$(am__dirstamp) \
	src/c/encoding/$(DEPDIR)/$(am__dirstamp)
src/c/encoding/binary-xml-structure-decoder.lo:  \
	src/c/encoding/$(am__dirstamp) \
	src/c/encoding/$(DEPDIR)/$(am__dirstamp)
src/c/transport/$(am__dirstamp):
	@$(MKDIR_P) src/c/transport
	@: > src/c/transport/$(am__dirstamp)
src/c/transport/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) src/c/transport/$(DEPDIR)
	@: > src/c/transport/$(DEPDIR)/$(am__dirstamp)
src/c/transport/socket-transport.lo: src/c/transport/$(am__dirstamp) \
	src/c/transport/$(DEPDIR)/$(am__dirstamp)
src/c/util/$(am__dirstamp):
	@$(MKDIR_P) src/c/util
	@: > src/c/util/$(am__dirstamp)
src/c/util/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) src/c/util/$(DEPDIR)
	@: > src/c/util/$(DEPDIR)/$(am__dirstamp)
src/c/util/crypto.lo: src/c/util/$(am__dirstamp) \
	src/c/util/$(DEPDIR)/$(am__dirstamp)
src/c/util/dynamic-uint8-array.lo: src/c/util/$(am__dirstamp) \
	src/c/util/$(DEPDIR)/$(am__dirstamp)
src/c/util/ndn_memory.lo: src/c/util/$(am__dirstamp) \
	src/c/util/$(DEPDIR)/$(am__dirstamp)
src/c/util/ndn_realloc.lo: src/c/util/$(am__dirstamp) \
	src/c/util/$(DEPDIR)/$(am__dirstamp)
src/c/util/time.lo: src/c/util/$(am__dirstamp) \
	src/c/util/$(DEPDIR)/$(am__dirstamp)

libndn-c.la: $(libndn_c_la_OBJECTS) $(libndn_c_la_DEPENDENCIES) $(EXTRA_libndn_c_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(LINK) -rpath $(libdir) $(libndn_c_la_OBJECTS) $(libndn_c_la_LIBADD) $(LIBS)
src/$(am__dirstamp):
	@$(MKDIR_P) src
	@: > src/$(am__dirstamp)
src/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) src/$(DEPDIR)
	@: > src/$(DEPDIR)/$(am__dirstamp)
src/common.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
src/data.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
src/face.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
src/forwarding-entry.lo: src/$(am__dirstamp) \
	src/$(DEPDIR)/$(am__dirstamp)
src/interest.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
src/key.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
src/name.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
src/node.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
src/publisher-public-key-digest.lo: src/$(am__dirstamp) \
	src/$(DEPDIR)/$(am__dirstamp)
src/sha256-with-rsa-signature.lo: src/$(am__dirstamp) \
	src/$(DEPDIR)/$(am__dirstamp)
src/encoding/$(am__dirstamp):
	@$(MKDIR_P) src/encoding
	@: > src/encoding/$(am__dirstamp)
src/encoding/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) src/encoding/$(DEPDIR)
	@: > src/encoding/$(DEPDIR)/$(am__dirstamp)
src/encoding/binary-xml-wire-format.lo: src/encoding/$(am__dirstamp) \
	src/encoding/$(DEPDIR)/$(am__dirstamp)
src/encoding/element-listener.lo: src/encoding/$(am__dirstamp) \
	src/encoding/$(DEPDIR)/$(am__dirstamp)
src/encoding/oid.lo: src/encoding/$(am__dirstamp) \
	src/encoding/$(DEPDIR)/$(am__dirstamp)
src/encoding/wire-format.lo: src/encoding/$(am__dirstamp) \
	src/encoding/$(DEPDIR)/$(am__dirstamp)
src/encoding/der/$(am__dirstamp):
	@$(MKDIR_P) src/encoding/der
	@: > src/encoding/der/$(am__dirstamp)
src/encoding/der/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) src/encoding/der/$(DEPDIR)
	@: > src/encoding/der/$(DEPDIR)/$(am__dirstamp)
src/encoding/der/der-exception.lo: src/encoding/der/$(am__dirstamp) \
	src/encoding/der/$(DEPDIR)/$(am__dirstamp)
src/encoding/der/der.lo: src/encoding/der/$(am__dirstamp) \
	src/encoding/der/$(DEPDIR)/$(am__dirstamp)
src/encoding/der/visitor/$(am__dirstamp):
	@$(MKDIR_P) src/encoding/der/visitor
	@: > src/encoding/der/visitor/$(am__dirstamp)
src/encoding/der/visitor/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) src/encoding/der/visitor/$(DEPDIR)
	@: > src/encoding/der/visitor/$(DEPDIR)/$(am__dirstamp)
src/encoding/der/visitor/certificate-data-visitor.lo:  \
	src/encoding/der/visitor/$(am__dirstamp) \
	src/encoding/der/visitor/$(DEPDIR)/$(am__dirstamp)
src/encoding/der/visitor/no-arguments-visitor.lo:  \
	src/encoding/der/visitor/$(am__dirstamp) \
	src/encoding/der/visitor/$(DEPDIR)/$(am__dirstamp)
src/encoding/der/visitor/print-visitor.lo:  \
	src/encoding/der/visitor/$(am__dirstamp) \
	src/encoding/der/visitor/$(DEPDIR)/$(am__dirstamp)
src/encoding/der/visitor/public-key-visitor.lo:  \
	src/encoding/der/visitor/$(am__dirstamp) \
	src/encoding/der/visitor/$(DEPDIR)/$(am__dirstamp)
src/encoding/der/visitor/simple-visitor.lo:  \
	src/encoding/der/visitor/$(am__dirstamp) \
	src/encoding/der/visitor/$(DEPDIR)/$(am__dirstamp)
src/encoding/der/visitor/void-visitor.lo:  \
	src/encoding/der/visitor/$(am__dirstamp) \
	src/encoding/der/visitor/$(DEPDIR)/$(am__dirstamp)
src/security/$(am__dirstamp):
	@$(MKDIR_P) src/security
	@: > src/security/$(am__dirstamp)
src/security/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) src/security/$(DEPDIR)
	@: > src/security/$(DEPDIR)/$(am__dirstamp)
src/security/key-chain.lo: src/security/$(am__dirstamp) \
	src/security/$(DEPDIR)/$(am__dirstamp)
src/security/security-exception.lo: src/security/$(am__dirstamp) \
	src/security/$(DEPDIR)/$(am__dirstamp)
src/security/certificate/$(am__dirstamp):
	@$(MKDIR_P) src/security/certificate
	@: > src/security/certificate/$(am__dirstamp)
src/security/certificate/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) src/security/certificate/$(DEPDIR)
	@: > src/security/certificate/$(DEPDIR)/$(am__dirstamp)
src/security/certificate/certificate-extension.lo:  \
	src/security/certificate/$(am__dirstamp) \
	src/security/certificate/$(DEPDIR)/$(am__dirstamp)
src/security/certificate/certificate-subject-description.lo:  \
	src/security/certificate/$(am__dirstamp) \
	src/security/certificate/$(DEPDIR)/$(am__dirstamp)
src/security/certificate/certificate.lo:  \
	src/security/certificate/$(am__dirstamp) \
	src/security/certificate/$(DEPDIR)/$(am__dirstamp)
src/security/certificate/identity-certificate.lo:  \
	src/security/certificate/$(am__dirstamp) \
	src/security/certificate/$(DEPDIR)/$(am__dirstamp)
src/security/certificate/public-key.lo:  \
	src/security/certificate/$(am__dirstamp) \
	src/security/certificate/$(DEPDIR)/$(am__dirstamp)
src/security/identity/$(am__dirstamp):
	@$(MKDIR_P) src/security/identity
	@: > src/security/identity/$(am__dirstamp)
src/security/identity/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) src/security/identity/$(DEPDIR)
	@: > src/security/identity/$(DEPDIR)/$(am__dirstamp)
src/security/identity/basic-identity-storage.lo:  \
	src/security/identity/$(am__dirstamp) \
	src/security/identity/$(DEPDIR)/$(am__dirstamp)
src/security/identity/identity-manager.lo:  \
	src/security/identity/$(am__dirstamp) \
	src/security/identity/$(DEPDIR)/$(am__dirstamp)
src/security/identity/identity-storage.lo:  \
	src/security/identity/$(am__dirstamp) \
	src/security/identity/$(DEPDIR)/$(am__dirstamp)
src/security/identity/memory-identity-storage.lo:  \
	src/security/identity/$(am__dirstamp) \
	src/security/identity/$(DEPDIR)/$(am__dirstamp)
src/security/identity/memory-private-key-storage.lo:  \
	src/security/identity/$(am__dirstamp) \
	src/security/identity/$(DEPDIR)/$(am__dirstamp)
src/security/identity/osx-private-key-storage.lo:  \
	src/security/identity/$(am__dirstamp) \
	src/security/identity/$(DEPDIR)/$(am__dirstamp)
src/security/policy/$(am__dirstamp):
	@$(MKDIR_P) src/security/policy
	@: > src/security/policy/$(am__dirstamp)
src/security/policy/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) src/security/policy/$(DEPDIR)
	@: > src/security/policy/$(DEPDIR)/$(am__dirstamp)
src/security/policy/no-verify-policy-manager.lo:  \
	src/security/policy/$(am__dirstamp) \
	src/security/policy/$(DEPDIR)/$(am__dirstamp)
src/transport/$(am__dirstamp):
	@$(MKDIR_P) src/transport
	@: > src/transport/$(am__dirstamp)
src/transport/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) src/transport/$(DEPDIR)
	@: > src/transport/$(DEPDIR)/$(am__dirstamp)
src/transport/tcp-transport.lo: src/transport/$(am__dirstamp) \
	src/transport/$(DEPDIR)/$(am__dirstamp)
src/transport/transport.lo: src/transport/$(am__dirstamp) \
	src/transport/$(DEPDIR)/$(am__dirstamp)
src/transport/udp-transport.lo: src/transport/$(am__dirstamp) \
	src/transport/$(DEPDIR)/$(am__dirstamp)
src/util/$(am__dirstamp):
	@$(MKDIR_P) src/util
	@: > src/util/$(am__dirstamp)
src/util/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) src/util/$(DEPDIR)
	@: > src/util/$(DEPDIR)/$(am__dirstamp)
src/util/blob.lo: src/util/$(am__dirstamp) \
	src/util/$(DEPDIR)/$(am__dirstamp)
src/util/changed-event.lo: src/util/$(am__dirstamp) \
	src/util/$(DEPDIR)/$(am__dirstamp)
src/util/dynamic-uint8-vector.lo: src/util/$(am__dirstamp) \
	src/util/$(DEPDIR)/$(am__dirstamp)
src/util/logging.lo: src/util/$(am__dirstamp) \
	src/util/$(DEPDIR)/$(am__dirstamp)

libndn-cpp.la: $(libndn_cpp_la_OBJECTS) $(libndn_cpp_la_DEPENDENCIES) $(EXTRA_libndn_cpp_la_DEPENDENCIES) 
	$(AM_V_CXXLD)$(CXXLINK) -rpath $(libdir) $(libndn_cpp_la_OBJECTS) $(libndn_cpp_la_LIBADD) $(LIBS)

clean-noinstPROGRAMS:
	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list
tests/$(am__dirstamp):
	@$(MKDIR_P) tests
	@: > tests/$(am__dirstamp)
tests/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) tests/$(DEPDIR)
	@: > tests/$(DEPDIR)/$(am__dirstamp)
tests/test-encode-decode-data.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)
bin/$(am__dirstamp):
	@$(MKDIR_P) bin
	@: > bin/$(am__dirstamp)

bin/test-encode-decode-data$(EXEEXT): $(bin_test_encode_decode_data_OBJECTS) $(bin_test_encode_decode_data_DEPENDENCIES) $(EXTRA_bin_test_encode_decode_data_DEPENDENCIES) bin/$(am__dirstamp)
	@rm -f bin/test-encode-decode-data$(EXEEXT)
	$(AM_V_CXXLD)$(CXXLINK) $(bin_test_encode_decode_data_OBJECTS) $(bin_test_encode_decode_data_LDADD) $(LIBS)
tests/test-encode-decode-forwarding-entry.$(OBJEXT):  \
	tests/$(am__dirstamp) tests/$(DEPDIR)/$(am__dirstamp)

bin/test-encode-decode-forwarding-entry$(EXEEXT): $(bin_test_encode_decode_forwarding_entry_OBJECTS) $(bin_test_encode_decode_forwarding_entry_DEPENDENCIES) $(EXTRA_bin_test_encode_decode_forwarding_entry_DEPENDENCIES) bin/$(am__dirstamp)
	@rm -f bin/test-encode-decode-forwarding-entry$(EXEEXT)
	$(AM_V_CXXLD)$(CXXLINK) $(bin_test_encode_decode_forwarding_entry_OBJECTS) $(bin_test_encode_decode_forwarding_entry_LDADD) $(LIBS)
tests/test-encode-decode-interest.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

bin/test-encode-decode-interest$(EXEEXT): $(bin_test_encode_decode_interest_OBJECTS) $(bin_test_encode_decode_interest_DEPENDENCIES) $(EXTRA_bin_test_encode_decode_interest_DEPENDENCIES) bin/$(am__dirstamp)
	@rm -f bin/test-encode-decode-interest$(EXEEXT)
	$(AM_V_CXXLD)$(CXXLINK) $(bin_test_encode_decode_interest_OBJECTS) $(bin_test_encode_decode_interest_LDADD) $(LIBS)
tests/test-get-async.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

bin/test-get-async$(EXEEXT): $(bin_test_get_async_OBJECTS) $(bin_test_get_async_DEPENDENCIES) $(EXTRA_bin_test_get_async_DEPENDENCIES) bin/$(am__dirstamp)
	@rm -f bin/test-get-async$(EXEEXT)
	$(AM_V_CXXLD)$(CXXLINK) $(bin_test_get_async_OBJECTS) $(bin_test_get_async_LDADD) $(LIBS)
tests/test-publish-async.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

bin/test-publish-async$(EXEEXT): $(bin_test_publish_async_OBJECTS) $(bin_test_publish_async_DEPENDENCIES) $(EXTRA_bin_test_publish_async_DEPENDENCIES) bin/$(am__dirstamp)
	@rm -f bin/test-publish-async$(EXEEXT)
	$(AM_V_CXXLD)$(CXXLINK) $(bin_test_publish_async_OBJECTS) $(bin_test_publish_async_LDADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT)
	-rm -f src/*.$(OBJEXT)
	-rm -f src/*.lo
	-rm -f src/c/*.$(OBJEXT)
	-rm -f src/c/*.lo
	-rm -f src/c/encoding/*.$(OBJEXT)
	-rm -f src/c/encoding/*.lo
	-rm -f src/c/transport/*.$(OBJEXT)
	-rm -f src/c/transport/*.lo
	-rm -f src/c/util/*.$(OBJEXT)
	-rm -f src/c/util/*.lo
	-rm -f src/encoding/*.$(OBJEXT)
	-rm -f src/encoding/*.lo
	-rm -f src/encoding/der/*.$(OBJEXT)
	-rm -f src/encoding/der/*.lo
	-rm -f src/encoding/der/visitor/*.$(OBJEXT)
	-rm -f src/encoding/der/visitor/*.lo
	-rm -f src/security/*.$(OBJEXT)
	-rm -f src/security/*.lo
	-rm -f src/security/certificate/*.$(OBJEXT)
	-rm -f src/security/certificate/*.lo
	-rm -f src/security/identity/*.$(OBJEXT)
	-rm -f src/security/identity/*.lo
	-rm -f src/security/policy/*.$(OBJEXT)
	-rm -f src/security/policy/*.lo
	-rm -f src/transport/*.$(OBJEXT)
	-rm -f src/transport/*.lo
	-rm -f src/util/*.$(OBJEXT)
	-rm -f src/util/*.lo
	-rm -f tests/*.$(OBJEXT)

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

@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/common.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/data.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/face.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/forwarding-entry.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/interest.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/key.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/name.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/node.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/publisher-public-key-digest.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/sha256-with-rsa-signature.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/errors.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/forwarding-flags.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/interest.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/name.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/encoding/$(DEPDIR)/binary-xml-data.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/encoding/$(DEPDIR)/binary-xml-decoder.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/encoding/$(DEPDIR)/binary-xml-element-reader.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/encoding/$(DEPDIR)/binary-xml-encoder.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/encoding/$(DEPDIR)/binary-xml-forwarding-entry.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/encoding/$(DEPDIR)/binary-xml-interest.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/encoding/$(DEPDIR)/binary-xml-key.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/encoding/$(DEPDIR)/binary-xml-name.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/encoding/$(DEPDIR)/binary-xml-publisher-public-key-digest.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/encoding/$(DEPDIR)/binary-xml-structure-decoder.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/transport/$(DEPDIR)/socket-transport.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/util/$(DEPDIR)/crypto.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/util/$(DEPDIR)/dynamic-uint8-array.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/util/$(DEPDIR)/ndn_memory.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/util/$(DEPDIR)/ndn_realloc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/c/util/$(DEPDIR)/time.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/encoding/$(DEPDIR)/binary-xml-wire-format.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/encoding/$(DEPDIR)/element-listener.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/encoding/$(DEPDIR)/oid.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/encoding/$(DEPDIR)/wire-format.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/encoding/der/$(DEPDIR)/der-exception.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/encoding/der/$(DEPDIR)/der.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/encoding/der/visitor/$(DEPDIR)/certificate-data-visitor.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/encoding/der/visitor/$(DEPDIR)/no-arguments-visitor.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/encoding/der/visitor/$(DEPDIR)/print-visitor.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/encoding/der/visitor/$(DEPDIR)/public-key-visitor.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/encoding/der/visitor/$(DEPDIR)/simple-visitor.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/encoding/der/visitor/$(DEPDIR)/void-visitor.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/security/$(DEPDIR)/key-chain.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/security/$(DEPDIR)/security-exception.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/security/certificate/$(DEPDIR)/certificate-extension.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/security/certificate/$(DEPDIR)/certificate-subject-description.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/security/certificate/$(DEPDIR)/certificate.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/security/certificate/$(DEPDIR)/identity-certificate.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/security/certificate/$(DEPDIR)/public-key.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/security/identity/$(DEPDIR)/basic-identity-storage.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/security/identity/$(DEPDIR)/identity-manager.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/security/identity/$(DEPDIR)/identity-storage.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/security/identity/$(DEPDIR)/memory-identity-storage.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/security/identity/$(DEPDIR)/memory-private-key-storage.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/security/identity/$(DEPDIR)/osx-private-key-storage.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/security/policy/$(DEPDIR)/no-verify-policy-manager.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/transport/$(DEPDIR)/tcp-transport.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/transport/$(DEPDIR)/transport.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/transport/$(DEPDIR)/udp-transport.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/blob.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/changed-event.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/dynamic-uint8-vector.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/logging.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test-encode-decode-data.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test-encode-decode-forwarding-entry.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test-encode-decode-interest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test-get-async.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test-publish-async.Po@am__quote@

.c.o:
@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<

.c.obj:
@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`

.c.lo:
@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<

.cpp.o:
@am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<

.cpp.obj:
@am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`

.cpp.lo:
@am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
@am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs
	-rm -rf bin/.libs bin/_libs
	-rm -rf src/.libs src/_libs
	-rm -rf src/c/.libs src/c/_libs
	-rm -rf src/c/encoding/.libs src/c/encoding/_libs
	-rm -rf src/c/transport/.libs src/c/transport/_libs
	-rm -rf src/c/util/.libs src/c/util/_libs
	-rm -rf src/encoding/.libs src/encoding/_libs
	-rm -rf src/encoding/der/.libs src/encoding/der/_libs
	-rm -rf src/encoding/der/visitor/.libs src/encoding/der/visitor/_libs
	-rm -rf src/security/.libs src/security/_libs
	-rm -rf src/security/certificate/.libs src/security/certificate/_libs
	-rm -rf src/security/identity/.libs src/security/identity/_libs
	-rm -rf src/security/policy/.libs src/security/policy/_libs
	-rm -rf src/transport/.libs src/transport/_libs
	-rm -rf src/util/.libs src/util/_libs

distclean-libtool:
	-rm -f libtool config.lt

# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
#     (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
	@fail=; \
	if $(am__make_keepgoing); then \
	  failcom='fail=yes'; \
	else \
	  failcom='exit 1'; \
	fi; \
	dot_seen=no; \
	target=`echo $@ | sed s/-recursive//`; \
	case "$@" in \
	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
	  *) list='$(SUBDIRS)' ;; \
	esac; \
	for subdir in $$list; do \
	  echo "Making $$target in $$subdir"; \
	  if test "$$subdir" = "."; then \
	    dot_seen=yes; \
	    local_target="$$target-am"; \
	  else \
	    local_target="$$target"; \
	  fi; \
	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
	  || eval $$failcom; \
	done; \
	if test "$$dot_seen" = "no"; then \
	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
	fi; test -z "$$fail"

ID: $(am__tagged_files)
	$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags

tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	set x; \
	here=`pwd`; \
	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
	  include_option=--etags-include; \
	  empty_fix=.; \
	else \
	  include_option=--include; \
	  empty_fix=; \
	fi; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  if test "$$subdir" = .; then :; else \
	    test ! -f $$subdir/TAGS || \
	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
	  fi; \
	done; \
	$(am__define_uniq_tagged_files); \
	shift; \
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  if test $$# -gt 0; then \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      "$$@" $$unique; \
	  else \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      $$unique; \
	  fi; \
	fi
ctags: ctags-recursive

CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	$(am__define_uniq_tagged_files); \
	test -z "$(CTAGS_ARGS)$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && $(am__cd) $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) "$$here"
cscope: cscope.files
	test ! -s cscope.files \
	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
clean-cscope:
	-rm -f cscope.files
cscope.files: clean-cscope cscopelist
cscopelist: cscopelist-recursive

cscopelist-am: $(am__tagged_files)
	list='$(am__tagged_files)'; \
	case "$(srcdir)" in \
	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
	  *) sdir=$(subdir)/$(srcdir) ;; \
	esac; \
	for i in $$list; do \
	  if test -f "$$i"; then \
	    echo "$(subdir)/$$i"; \
	  else \
	    echo "$$sdir/$$i"; \
	  fi; \
	done >> $(top_builddir)/cscope.files

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files

distdir: $(DISTFILES)
	$(am__remove_distdir)
	test -d "$(distdir)" || mkdir "$(distdir)"
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	list='$(DISTFILES)'; \
	  dist_files=`for file in $$list; do echo $$file; done | \
	  sed -e "s|^$$srcdirstrip/||;t" \
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
	case $$dist_files in \
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
			   sort -u` ;; \
	esac; \
	for file in $$dist_files; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  if test -d $$d/$$file; then \
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
	    if test -d "$(distdir)/$$file"; then \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
	  else \
	    test -f "$(distdir)/$$file" \
	    || cp -p $$d/$$file "$(distdir)/$$file" \
	    || exit 1; \
	  fi; \
	done
	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
	  if test "$$subdir" = .; then :; else \
	    $(am__make_dryrun) \
	      || test -d "$(distdir)/$$subdir" \
	      || $(MKDIR_P) "$(distdir)/$$subdir" \
	      || exit 1; \
	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
	    $(am__relativize); \
	    new_distdir=$$reldir; \
	    dir1=$$subdir; dir2="$(top_distdir)"; \
	    $(am__relativize); \
	    new_top_distdir=$$reldir; \
	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
	    ($(am__cd) $$subdir && \
	      $(MAKE) $(AM_MAKEFLAGS) \
	        top_distdir="$$new_top_distdir" \
	        distdir="$$new_distdir" \
		am__remove_distdir=: \
		am__skip_length_check=: \
		am__skip_mode_fix=: \
	        distdir) \
	      || exit 1; \
	  fi; \
	done
	-test -n "$(am__skip_mode_fix)" \
	|| find "$(distdir)" -type d ! -perm -755 \
		-exec chmod u+rwx,go+rx {} \; -o \
	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
	|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
	$(am__post_remove_distdir)

dist-bzip2: distdir
	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
	$(am__post_remove_distdir)

dist-lzip: distdir
	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
	$(am__post_remove_distdir)

dist-xz: distdir
	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
	$(am__post_remove_distdir)

dist-tarZ: distdir
	@echo WARNING: "Support for shar distribution archives is" \
	               "deprecated." >&2
	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
	$(am__post_remove_distdir)

dist-shar: distdir
	@echo WARNING: "Support for distribution archives compressed with" \
		       "legacy program 'compress' is deprecated." >&2
	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
	$(am__post_remove_distdir)

dist-zip: distdir
	-rm -f $(distdir).zip
	zip -rq $(distdir).zip $(distdir)
	$(am__post_remove_distdir)

dist dist-all:
	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
	$(am__post_remove_distdir)

# This target untars the dist file and tries a VPATH configuration.  Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
	case '$(DIST_ARCHIVES)' in \
	*.tar.gz*) \
	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
	*.tar.bz2*) \
	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
	*.tar.lz*) \
	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
	*.tar.xz*) \
	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
	*.tar.Z*) \
	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
	*.shar.gz*) \
	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
	*.zip*) \
	  unzip $(distdir).zip ;;\
	esac
	chmod -R a-w $(distdir)
	chmod u+w $(distdir)
	mkdir $(distdir)/_build $(distdir)/_inst
	chmod a-w $(distdir)
	test -d $(distdir)/_build || exit 0; \
	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
	  && am__cwd=`pwd` \
	  && $(am__cd) $(distdir)/_build \
	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
	    $(DISTCHECK_CONFIGURE_FLAGS) \
	  && $(MAKE) $(AM_MAKEFLAGS) \
	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
	  && $(MAKE) $(AM_MAKEFLAGS) check \
	  && $(MAKE) $(AM_MAKEFLAGS) install \
	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
	        distuninstallcheck \
	  && chmod -R a-w "$$dc_install_base" \
	  && ({ \
	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
	  && rm -rf "$$dc_destdir" \
	  && $(MAKE) $(AM_MAKEFLAGS) dist \
	  && rm -rf $(DIST_ARCHIVES) \
	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
	  && cd "$$am__cwd" \
	  || exit 1
	$(am__post_remove_distdir)
	@(echo "$(distdir) archives ready for distribution: "; \
	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
	@test -n '$(distuninstallcheck_dir)' || { \
	  echo 'ERROR: trying to run $@ with an empty' \
	       '$$(distuninstallcheck_dir)' >&2; \
	  exit 1; \
	}; \
	$(am__cd) '$(distuninstallcheck_dir)' || { \
	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
	  exit 1; \
	}; \
	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
	   || { echo "ERROR: files left after uninstall:" ; \
	        if test -n "$(DESTDIR)"; then \
	          echo "  (check DESTDIR support)"; \
	        fi ; \
	        $(distuninstallcheck_listfiles) ; \
	        exit 1; } >&2
distcleancheck: distclean
	@if test '$(srcdir)' = . ; then \
	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
	  exit 1 ; \
	fi
	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
	  || { echo "ERROR: files left in build directory after distclean:" ; \
	       $(distcleancheck_listfiles) ; \
	       exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS)
installdirs: installdirs-recursive
installdirs-am:
	for dir in "$(DESTDIR)$(libdir)"; do \
	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
	done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive

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

installcheck: installcheck-recursive
install-strip:
	if test -z '$(STRIP)'; then \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	      install; \
	else \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
	fi
mostlyclean-generic:

clean-generic:

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
	-rm -f bin/$(am__dirstamp)
	-rm -f src/$(DEPDIR)/$(am__dirstamp)
	-rm -f src/$(am__dirstamp)
	-rm -f src/c/$(DEPDIR)/$(am__dirstamp)
	-rm -f src/c/$(am__dirstamp)
	-rm -f src/c/encoding/$(DEPDIR)/$(am__dirstamp)
	-rm -f src/c/encoding/$(am__dirstamp)
	-rm -f src/c/transport/$(DEPDIR)/$(am__dirstamp)
	-rm -f src/c/transport/$(am__dirstamp)
	-rm -f src/c/util/$(DEPDIR)/$(am__dirstamp)
	-rm -f src/c/util/$(am__dirstamp)
	-rm -f src/encoding/$(DEPDIR)/$(am__dirstamp)
	-rm -f src/encoding/$(am__dirstamp)
	-rm -f src/encoding/der/$(DEPDIR)/$(am__dirstamp)
	-rm -f src/encoding/der/$(am__dirstamp)
	-rm -f src/encoding/der/visitor/$(DEPDIR)/$(am__dirstamp)
	-rm -f src/encoding/der/visitor/$(am__dirstamp)
	-rm -f src/security/$(DEPDIR)/$(am__dirstamp)
	-rm -f src/security/$(am__dirstamp)
	-rm -f src/security/certificate/$(DEPDIR)/$(am__dirstamp)
	-rm -f src/security/certificate/$(am__dirstamp)
	-rm -f src/security/identity/$(DEPDIR)/$(am__dirstamp)
	-rm -f src/security/identity/$(am__dirstamp)
	-rm -f src/security/policy/$(DEPDIR)/$(am__dirstamp)
	-rm -f src/security/policy/$(am__dirstamp)
	-rm -f src/transport/$(DEPDIR)/$(am__dirstamp)
	-rm -f src/transport/$(am__dirstamp)
	-rm -f src/util/$(DEPDIR)/$(am__dirstamp)
	-rm -f src/util/$(am__dirstamp)
	-rm -f tests/$(DEPDIR)/$(am__dirstamp)
	-rm -f tests/$(am__dirstamp)

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-recursive

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

distclean: distclean-recursive
	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
	-rm -rf src/$(DEPDIR) src/c/$(DEPDIR) src/c/encoding/$(DEPDIR) src/c/transport/$(DEPDIR) src/c/util/$(DEPDIR) src/encoding/$(DEPDIR) src/encoding/der/$(DEPDIR) src/encoding/der/visitor/$(DEPDIR) src/security/$(DEPDIR) src/security/certificate/$(DEPDIR) src/security/identity/$(DEPDIR) src/security/policy/$(DEPDIR) src/transport/$(DEPDIR) src/util/$(DEPDIR) tests/$(DEPDIR)
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-libtool distclean-tags

dvi: dvi-recursive

dvi-am:

html: html-recursive

html-am:

info: info-recursive

info-am:

install-data-am:

install-dvi: install-dvi-recursive

install-dvi-am:

install-exec-am: install-libLTLIBRARIES

install-html: install-html-recursive

install-html-am:

install-info: install-info-recursive

install-info-am:

install-man:

install-pdf: install-pdf-recursive

install-pdf-am:

install-ps: install-ps-recursive

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-recursive
	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
	-rm -rf $(top_srcdir)/autom4te.cache
	-rm -rf src/$(DEPDIR) src/c/$(DEPDIR) src/c/encoding/$(DEPDIR) src/c/transport/$(DEPDIR) src/c/util/$(DEPDIR) src/encoding/$(DEPDIR) src/encoding/der/$(DEPDIR) src/encoding/der/visitor/$(DEPDIR) src/security/$(DEPDIR) src/security/certificate/$(DEPDIR) src/security/identity/$(DEPDIR) src/security/policy/$(DEPDIR) src/transport/$(DEPDIR) src/util/$(DEPDIR) tests/$(DEPDIR)
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-recursive

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

pdf: pdf-recursive

pdf-am:

ps: ps-recursive

ps-am:

uninstall-am: uninstall-libLTLIBRARIES

.MAKE: $(am__recursive_targets) install-am install-strip

.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
	am--refresh check check-am clean clean-cscope clean-generic \
	clean-libLTLIBRARIES clean-libtool clean-noinstPROGRAMS cscope \
	cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
	dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
	distcheck distclean distclean-compile distclean-generic \
	distclean-libtool distclean-tags distcleancheck distdir \
	distuninstallcheck dvi dvi-am html html-am info info-am \
	install install-am install-data install-data-am install-dvi \
	install-dvi-am install-exec install-exec-am install-html \
	install-html-am install-info install-info-am \
	install-libLTLIBRARIES install-man install-pdf install-pdf-am \
	install-ps install-ps-am install-strip installcheck \
	installcheck-am installdirs installdirs-am maintainer-clean \
	maintainer-clean-generic mostlyclean mostlyclean-compile \
	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
	tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES


@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps

@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@@DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag
@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@	cd @DX_DOCDIR@/latex; \
@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@	rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@	$(DX_LATEX) refman.tex; \
@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@	$(MAKEINDEX_PATH) refman.idx; \
@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@	$(DX_LATEX) refman.tex; \
@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@	countdown=5; \
@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@	while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@	                  refman.log > /dev/null 2>&1 \
@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@	   && test $$countdown -gt 0; do \
@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@	    $(DX_LATEX) refman.tex; \
@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@	    countdown=`expr $$countdown - 1`; \
@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@	done; \
@DX_COND_doc_TRUE@@DX_COND_ps_TRUE@	$(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi

@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf

@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@@DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag
@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@	cd @DX_DOCDIR@/latex; \
@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@	rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@	$(DX_PDFLATEX) refman.tex; \
@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@	$(DX_MAKEINDEX) refman.idx; \
@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@	$(DX_PDFLATEX) refman.tex; \
@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@	countdown=5; \
@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@	while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@	                  refman.log > /dev/null 2>&1 \
@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@	   && test $$countdown -gt 0; do \
@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@	    $(DX_PDFLATEX) refman.tex; \
@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@	    countdown=`expr $$countdown - 1`; \
@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@	done; \
@DX_COND_doc_TRUE@@DX_COND_pdf_TRUE@	mv refman.pdf ../@PACKAGE@.pdf

@DX_COND_doc_TRUE@.PHONY: doxygen-run doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)

@DX_COND_doc_TRUE@.INTERMEDIATE: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)

@DX_COND_doc_TRUE@doxygen-run: @DX_DOCDIR@/@PACKAGE@.tag

@DX_COND_doc_TRUE@doxygen-doc: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)

@DX_COND_doc_TRUE@@DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)
@DX_COND_doc_TRUE@	rm -rf @DX_DOCDIR@
@DX_COND_doc_TRUE@	$(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)

# 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:
