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

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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@





VPATH = @srcdir@
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@

# Enable verbose gcc warnings.  We use the older option name "-W" to be
# compatible with gcc v3.3 and earlier.  That option should be changed to
# "-Wextra" when we can be sure that early gcc versions will not be used.
@GCC_TRUE@am__append_1 = -Wall -Wwrite-strings -Woverloaded-virtual -W
bin_PROGRAMS = vcdiff$(EXEEXT)
check_PROGRAMS = addrcache_test$(EXEEXT) blockhash_test$(EXEEXT) \
	codetable_test$(EXEEXT) decodetable_test$(EXEEXT) \
	encodetable_test$(EXEEXT) headerparser_test$(EXEEXT) \
	instruction_map_test$(EXEEXT) output_string_test$(EXEEXT) \
	rolling_hash_test$(EXEEXT) varint_bigendian_test$(EXEEXT) \
	vcdecoder1_test$(EXEEXT) vcdecoder2_test$(EXEEXT) \
	vcdecoder3_test$(EXEEXT) vcdecoder4_test$(EXEEXT) \
	vcdecoder5_test$(EXEEXT) vcdiffengine_test$(EXEEXT) \
	vcencoder_test$(EXEEXT) jsonwriter_test$(EXEEXT)
noinst_PROGRAMS =
subdir = .
DIST_COMMON = README $(am__configure_deps) $(dist_doc_DATA) \
	$(dist_man1_MANS) $(dist_noinst_DATA) $(googleinclude_HEADERS) \
	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
	$(top_srcdir)/configure \
	$(top_srcdir)/gflags/src/gflags/gflags.h.in \
	$(top_srcdir)/gflags/src/gflags/gflags_completions.h.in \
	$(top_srcdir)/src/config.h.in AUTHORS COPYING ChangeLog \
	INSTALL NEWS THANKS compile config.guess config.sub depcomp \
	install-sh ltmain.sh missing mkinstalldirs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/gflags/m4/acx_pthread.m4 \
	$(top_srcdir)/gflags/m4/google_namespace.m4 \
	$(top_srcdir)/gflags/m4/namespaces.m4 \
	$(top_srcdir)/gflags/m4/stl_namespace.m4 \
	$(top_srcdir)/m4/ac_have_attribute.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 = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/src/config.h
CONFIG_CLEAN_FILES = gflags/src/gflags/gflags.h \
	gflags/src/gflags/gflags_completions.h
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)" "$(DESTDIR)$(bindir)" \
	"$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docdir)" \
	"$(DESTDIR)$(googleincludedir)"
LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
libgflags_la_LIBADD =
am_libgflags_la_OBJECTS = gflags.lo gflags_completions.lo \
	gflags_reporting.lo
libgflags_la_OBJECTS = $(am_libgflags_la_OBJECTS)
libgtest_main_la_LIBADD =
am_libgtest_main_la_OBJECTS = gtest.lo gtest-death-test.lo \
	gtest-filepath.lo gtest-port.lo gtest-test-part.lo \
	gtest-typed-test.lo gtest_main.lo
libgtest_main_la_OBJECTS = $(am_libgtest_main_la_OBJECTS)
libvcdcom_la_LIBADD =
am_libvcdcom_la_OBJECTS = adler32.lo addrcache.lo codetable.lo \
	logging.lo varint_bigendian.lo
libvcdcom_la_OBJECTS = $(am_libvcdcom_la_OBJECTS)
libvcddec_la_DEPENDENCIES = libvcdcom.la
am_libvcddec_la_OBJECTS = decodetable.lo headerparser.lo vcdecoder.lo
libvcddec_la_OBJECTS = $(am_libvcddec_la_OBJECTS)
libvcdecoder_test_common_la_DEPENDENCIES = libvcddec.la \
	libgtest_main.la
am_libvcdecoder_test_common_la_OBJECTS = vcdecoder_test.lo
libvcdecoder_test_common_la_OBJECTS =  \
	$(am_libvcdecoder_test_common_la_OBJECTS)
libvcdenc_la_DEPENDENCIES = libvcdcom.la
am_libvcdenc_la_OBJECTS = blockhash.lo encodetable.lo \
	instruction_map.lo jsonwriter.lo vcdiffengine.lo vcencoder.lo
libvcdenc_la_OBJECTS = $(am_libvcdenc_la_OBJECTS)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
am_addrcache_test_OBJECTS = addrcache_test.$(OBJEXT)
addrcache_test_OBJECTS = $(am_addrcache_test_OBJECTS)
addrcache_test_DEPENDENCIES = libvcdcom.la libgtest_main.la
am_blockhash_test_OBJECTS = blockhash_test.$(OBJEXT)
blockhash_test_OBJECTS = $(am_blockhash_test_OBJECTS)
blockhash_test_DEPENDENCIES = libvcdenc.la libgtest_main.la
am_codetable_test_OBJECTS = codetable_test.$(OBJEXT)
codetable_test_OBJECTS = $(am_codetable_test_OBJECTS)
codetable_test_DEPENDENCIES = libvcdcom.la libgtest_main.la
am_decodetable_test_OBJECTS = decodetable_test.$(OBJEXT)
decodetable_test_OBJECTS = $(am_decodetable_test_OBJECTS)
decodetable_test_DEPENDENCIES = libvcddec.la libvcdcom.la \
	libgtest_main.la
am_encodetable_test_OBJECTS = encodetable_test.$(OBJEXT)
encodetable_test_OBJECTS = $(am_encodetable_test_OBJECTS)
encodetable_test_DEPENDENCIES = libvcdenc.la libvcdcom.la \
	libgtest_main.la
am_headerparser_test_OBJECTS = headerparser_test.$(OBJEXT)
headerparser_test_OBJECTS = $(am_headerparser_test_OBJECTS)
headerparser_test_DEPENDENCIES = libvcddec.la libvcdcom.la \
	libgtest_main.la
am_instruction_map_test_OBJECTS = instruction_map_test.$(OBJEXT)
instruction_map_test_OBJECTS = $(am_instruction_map_test_OBJECTS)
instruction_map_test_DEPENDENCIES = libvcdenc.la libvcdcom.la \
	libgtest_main.la
am_jsonwriter_test_OBJECTS = jsonwriter_test.$(OBJEXT)
jsonwriter_test_OBJECTS = $(am_jsonwriter_test_OBJECTS)
jsonwriter_test_DEPENDENCIES = libvcdenc.la libvcdcom.la \
	libgtest_main.la
am_output_string_test_OBJECTS = output_string_test.$(OBJEXT)
output_string_test_OBJECTS = $(am_output_string_test_OBJECTS)
output_string_test_DEPENDENCIES = libgtest_main.la
am_rolling_hash_test_OBJECTS = rolling_hash_test.$(OBJEXT)
rolling_hash_test_OBJECTS = $(am_rolling_hash_test_OBJECTS)
rolling_hash_test_DEPENDENCIES = libvcdcom.la libgtest_main.la
am_varint_bigendian_test_OBJECTS = varint_bigendian_test.$(OBJEXT)
varint_bigendian_test_OBJECTS = $(am_varint_bigendian_test_OBJECTS)
varint_bigendian_test_DEPENDENCIES = libvcdcom.la libgtest_main.la
am_vcdecoder1_test_OBJECTS = vcdecoder1_test.$(OBJEXT)
vcdecoder1_test_OBJECTS = $(am_vcdecoder1_test_OBJECTS)
vcdecoder1_test_DEPENDENCIES = libvcdecoder_test_common.la
am_vcdecoder2_test_OBJECTS = vcdecoder2_test.$(OBJEXT)
vcdecoder2_test_OBJECTS = $(am_vcdecoder2_test_OBJECTS)
vcdecoder2_test_DEPENDENCIES = libvcdecoder_test_common.la
am_vcdecoder3_test_OBJECTS = vcdecoder3_test.$(OBJEXT)
vcdecoder3_test_OBJECTS = $(am_vcdecoder3_test_OBJECTS)
vcdecoder3_test_DEPENDENCIES = libvcdecoder_test_common.la
am_vcdecoder4_test_OBJECTS = vcdecoder4_test.$(OBJEXT)
vcdecoder4_test_OBJECTS = $(am_vcdecoder4_test_OBJECTS)
vcdecoder4_test_DEPENDENCIES = libvcdecoder_test_common.la
am_vcdecoder5_test_OBJECTS = vcdecoder5_test.$(OBJEXT)
vcdecoder5_test_OBJECTS = $(am_vcdecoder5_test_OBJECTS)
vcdecoder5_test_DEPENDENCIES = libvcdecoder_test_common.la
am_vcdiff_OBJECTS = vcdiff_main.$(OBJEXT)
vcdiff_OBJECTS = $(am_vcdiff_OBJECTS)
vcdiff_DEPENDENCIES = libvcddec.la libvcdenc.la libgflags.la
am_vcdiffengine_test_OBJECTS = vcdiffengine_test.$(OBJEXT)
vcdiffengine_test_OBJECTS = $(am_vcdiffengine_test_OBJECTS)
vcdiffengine_test_DEPENDENCIES = libvcdenc.la libvcdcom.la \
	libgtest_main.la
am_vcencoder_test_OBJECTS = vcencoder_test.$(OBJEXT)
vcencoder_test_OBJECTS = $(am_vcencoder_test_OBJECTS)
vcencoder_test_DEPENDENCIES = libvcddec.la libvcdenc.la libvcdcom.la \
	libgtest_main.la
SCRIPTS = $(noinst_SCRIPTS)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
SOURCES = $(libgflags_la_SOURCES) $(libgtest_main_la_SOURCES) \
	$(libvcdcom_la_SOURCES) $(libvcddec_la_SOURCES) \
	$(libvcdecoder_test_common_la_SOURCES) $(libvcdenc_la_SOURCES) \
	$(addrcache_test_SOURCES) $(blockhash_test_SOURCES) \
	$(codetable_test_SOURCES) $(decodetable_test_SOURCES) \
	$(encodetable_test_SOURCES) $(headerparser_test_SOURCES) \
	$(instruction_map_test_SOURCES) $(jsonwriter_test_SOURCES) \
	$(output_string_test_SOURCES) $(rolling_hash_test_SOURCES) \
	$(varint_bigendian_test_SOURCES) $(vcdecoder1_test_SOURCES) \
	$(vcdecoder2_test_SOURCES) $(vcdecoder3_test_SOURCES) \
	$(vcdecoder4_test_SOURCES) $(vcdecoder5_test_SOURCES) \
	$(vcdiff_SOURCES) $(vcdiffengine_test_SOURCES) \
	$(vcencoder_test_SOURCES)
DIST_SOURCES = $(libgflags_la_SOURCES) $(libgtest_main_la_SOURCES) \
	$(libvcdcom_la_SOURCES) $(libvcddec_la_SOURCES) \
	$(libvcdecoder_test_common_la_SOURCES) $(libvcdenc_la_SOURCES) \
	$(addrcache_test_SOURCES) $(blockhash_test_SOURCES) \
	$(codetable_test_SOURCES) $(decodetable_test_SOURCES) \
	$(encodetable_test_SOURCES) $(headerparser_test_SOURCES) \
	$(instruction_map_test_SOURCES) $(jsonwriter_test_SOURCES) \
	$(output_string_test_SOURCES) $(rolling_hash_test_SOURCES) \
	$(varint_bigendian_test_SOURCES) $(vcdecoder1_test_SOURCES) \
	$(vcdecoder2_test_SOURCES) $(vcdecoder3_test_SOURCES) \
	$(vcdecoder4_test_SOURCES) $(vcdecoder5_test_SOURCES) \
	$(vcdiff_SOURCES) $(vcdiffengine_test_SOURCES) \
	$(vcencoder_test_SOURCES)
man1dir = $(mandir)/man1
NROFF = nroff
MANS = $(dist_man1_MANS)
DATA = $(dist_doc_DATA) $(dist_noinst_DATA)
HEADERS = $(googleinclude_HEADERS)
ETAGS = etags
CTAGS = ctags
am__tty_colors = \
red=; grn=; lgn=; blu=; std=
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
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
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@
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@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
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@
LIBSTDCXX_LA_LINKER_FLAG = @LIBSTDCXX_LA_LINKER_FLAG@
LIBTOOL = @LIBTOOL@
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
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@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
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_cv___attribute__unused = @ac_cv___attribute__unused@
ac_cv_have___int16 = @ac_cv_have___int16@
ac_cv_have_inttypes_h = @ac_cv_have_inttypes_h@
ac_cv_have_stdint_h = @ac_cv_have_stdint_h@
ac_cv_have_systypes_h = @ac_cv_have_systypes_h@
ac_cv_have_u_int16_t = @ac_cv_have_u_int16_t@
ac_cv_have_uint16_t = @ac_cv_have_uint16_t@
ac_google_end_namespace = @ac_google_end_namespace@
ac_google_namespace = @ac_google_namespace@
ac_google_start_namespace = @ac_google_start_namespace@
acx_pthread_config = @acx_pthread_config@
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 = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
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@

# Make sure that when we re-make ./configure, we get the macros we need
ACLOCAL_AMFLAGS = -I m4 -I gflags/m4

# This is so we can #include <google/vcencoder.h> or <gtest/gtest.h>
AM_CPPFLAGS = -I$(top_srcdir)/src \
              -I$(top_srcdir)/src/zlib \
              -I$(top_srcdir)/gflags/src \
              -I$(top_srcdir)/gtest \
              -I$(top_srcdir)/gtest/include


# For a non-optimized (debug) build, change "-DNDEBUG" to "-DDEBUG".
AM_CXXFLAGS = -DNDEBUG -DNO_THREADS -DGTEST_HAS_TR1_TUPLE=0 \
	$(am__append_1)
AM_LDFLAGS = -no-undefined $(LIBSTDCXX_LA_LINKER_FLAG)
googleincludedir = $(includedir)/google
googleinclude_HEADERS = src/google/vcdecoder.h src/google/vcencoder.h \
			src/google/format_extension_flags.h \
			src/google/output_string.h

dist_doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS

# The manual pages that should be installed
dist_man1_MANS = man/vcdiff.1

# libvcdcom: The open-vcdiff *common* library

# libvcddec: The open-vcdiff *decoder* library

# libvcdenc: The open-vcdiff *encoder* library
lib_LTLIBRARIES = libvcdcom.la libvcddec.la libvcdenc.la
check_SCRIPTS = src/vcdiff_test.sh
noinst_SCRIPTS = 

# google-gflags: Used for command-line client
#     Please refer to http://code.google.com/p/google-gflags/ for details

# gtest (Google Test): Used for unit tests only
#     Please refer to http://code.google.com/p/googletest/ for details
noinst_LTLIBRARIES = libgflags.la libgtest_main.la \
	libvcdecoder_test_common.la
libgflags_la_SOURCES = gflags/src/gflags/gflags.h \
                       gflags/src/gflags/gflags_completions.h \
                       gflags/src/mutex.h \
                       gflags/src/gflags.cc \
                       gflags/src/gflags_completions.cc \
                       gflags/src/gflags_reporting.cc

libgtest_main_la_SOURCES = gtest/include/gtest/gtest.h \
                           gtest/include/gtest/gtest-death-test.h \
                           gtest/include/gtest/gtest-message.h \
                           gtest/include/gtest/gtest-param-test.h \
                           gtest/include/gtest/gtest_pred_impl.h \
                           gtest/include/gtest/gtest_prod.h \
                           gtest/include/gtest/gtest-spi.h \
                           gtest/include/gtest/gtest-test-part.h \
                           gtest/include/gtest/gtest-typed-test.h \
                           gtest/include/gtest/internal/gtest-death-test-internal.h \
                           gtest/include/gtest/internal/gtest-filepath.h \
                           gtest/include/gtest/internal/gtest-internal.h \
                           gtest/include/gtest/internal/gtest-linked_ptr.h \
                           gtest/include/gtest/internal/gtest-param-util.h \
                           gtest/include/gtest/internal/gtest-param-util-generated.h \
                           gtest/include/gtest/internal/gtest-port.h \
                           gtest/include/gtest/internal/gtest-string.h \
                           gtest/include/gtest/internal/gtest-tuple.h \
                           gtest/include/gtest/internal/gtest-type-util.h \
                           gtest/src/gtest-internal-inl.h \
                           gtest/src/gtest.cc \
                           gtest/src/gtest-death-test.cc \
                           gtest/src/gtest-filepath.cc \
                           gtest/src/gtest-port.cc \
                           gtest/src/gtest-test-part.cc \
                           gtest/src/gtest-typed-test.cc \
                           gtest/src/gtest_main.cc \
                           src/testing.h

libvcdecoder_test_common_la_SOURCES = src/vcdecoder_test.h \
				      src/vcdecoder_test.cc

libvcdecoder_test_common_la_LIBADD = libvcddec.la libgtest_main.la
libvcdcom_la_SOURCES = src/google/format_extension_flags.h \
		       src/google/output_string.h \
		       src/addrcache.h \
		       src/checksum.h \
		       src/codetable.h \
		       src/logging.h \
		       src/unique_ptr.h \
		       src/varint_bigendian.h \
		       src/vcdiff_defs.h \
		       src/zlib/zlib.h \
		       src/zlib/zconf.h \
		       src/zlib/adler32.c \
		       src/addrcache.cc \
		       src/codetable.cc \
		       src/logging.cc \
		       src/varint_bigendian.cc

libvcddec_la_SOURCES = src/google/vcdecoder.h \
		       src/decodetable.h \
		       src/headerparser.h \
		       src/decodetable.cc \
		       src/headerparser.cc \
		       src/vcdecoder.cc

libvcddec_la_LIBADD = libvcdcom.la
libvcdenc_la_SOURCES = src/google/vcencoder.h \
		       src/blockhash.h \
		       src/codetablewriter_interface.h \
		       src/compile_assert.h \
		       src/encodetable.h \
		       src/instruction_map.h \
		       src/jsonwriter.h \
		       src/rolling_hash.h \
		       src/vcdiffengine.h \
		       src/blockhash.cc \
		       src/encodetable.cc \
		       src/instruction_map.cc \
		       src/jsonwriter.cc \
		       src/vcdiffengine.cc \
                       src/vcencoder.cc

libvcdenc_la_LIBADD = libvcdcom.la
vcdiff_SOURCES = src/vcdiff_main.cc
vcdiff_LDADD = libvcddec.la libvcdenc.la libgflags.la
addrcache_test_SOURCES = src/addrcache_test.cc
addrcache_test_LDADD = libvcdcom.la libgtest_main.la
blockhash_test_SOURCES = src/blockhash_test.cc
blockhash_test_LDADD = libvcdenc.la libgtest_main.la
codetable_test_SOURCES = src/codetable_test.cc
codetable_test_LDADD = libvcdcom.la libgtest_main.la
decodetable_test_SOURCES = src/decodetable_test.cc
decodetable_test_LDADD = libvcddec.la libvcdcom.la libgtest_main.la
encodetable_test_SOURCES = src/encodetable_test.cc
encodetable_test_LDADD = libvcdenc.la libvcdcom.la libgtest_main.la
headerparser_test_SOURCES = src/headerparser_test.cc
headerparser_test_LDADD = libvcddec.la libvcdcom.la libgtest_main.la
instruction_map_test_SOURCES = src/instruction_map_test.cc
instruction_map_test_LDADD = libvcdenc.la libvcdcom.la libgtest_main.la
output_string_test_SOURCES = src/output_string_crope.h \
			     src/output_string_test.cc

output_string_test_LDADD = libgtest_main.la
rolling_hash_test_SOURCES = src/rolling_hash_test.cc
rolling_hash_test_LDADD = libvcdcom.la libgtest_main.la
varint_bigendian_test_SOURCES = src/varint_bigendian_test.cc
varint_bigendian_test_LDADD = libvcdcom.la libgtest_main.la
vcdecoder1_test_SOURCES = src/vcdecoder1_test.cc
vcdecoder1_test_LDADD = libvcdecoder_test_common.la
vcdecoder2_test_SOURCES = src/vcdecoder2_test.cc
vcdecoder2_test_LDADD = libvcdecoder_test_common.la
vcdecoder3_test_SOURCES = src/vcdecoder3_test.cc
vcdecoder3_test_LDADD = libvcdecoder_test_common.la
vcdecoder4_test_SOURCES = src/vcdecoder4_test.cc
vcdecoder4_test_LDADD = libvcdecoder_test_common.la
vcdecoder5_test_SOURCES = src/vcdecoder5_test.cc
vcdecoder5_test_LDADD = libvcdecoder_test_common.la
vcdiffengine_test_SOURCES = src/vcdiffengine_test.cc
vcdiffengine_test_LDADD = libvcdenc.la libvcdcom.la libgtest_main.la
vcencoder_test_SOURCES = src/vcencoder_test.cc
vcencoder_test_LDADD = libvcddec.la libvcdenc.la libvcdcom.la libgtest_main.la
jsonwriter_test_SOURCES = src/jsonwriter_test.cc
jsonwriter_test_LDADD = libvcdenc.la libvcdcom.la libgtest_main.la
dist_noinst_DATA = testdata/configure.ac.v0.1 \
                   testdata/configure.ac.v0.2 \
                   testdata/allocates_4gb.vcdiff

TESTS = $(check_PROGRAMS) $(check_SCRIPTS)
TESTS_ENVIRONMENT = SRCDIR="$(top_srcdir)"
EXTRA_DIST = $(check_SCRIPTS) \
	     autogen.sh \
	     gflags/src/windows/config.h \
	     gflags/src/windows/gflags/gflags.h \
	     gflags/src/windows/gflags/gflags_completions.h \
	     gflags/src/windows/port.h \
	     gflags/src/windows/port.cc \
	     packages/rpm.sh \
	     packages/rpm/rpm.spec \
	     packages/deb.sh \
	     packages/deb \
	     src/solaris/libstdc++.la \
	     testdata/empty_file.txt \
	     vsprojects/config.h \
	     vsprojects/stdint.h \
	     vsprojects/vcdiff_test.bat \
	     vsprojects/open-vcdiff.sln \
	     vsprojects/addrcache_test/addrcache_test.vcproj \
	     vsprojects/blockhash_test/blockhash_test.vcproj \
	     vsprojects/codetable_test/codetable_test.vcproj \
	     vsprojects/decodetable_test/decodetable_test.vcproj \
	     vsprojects/encodetable_test/encodetable_test.vcproj \
	     vsprojects/gtest/gtest.vcproj \
	     vsprojects/headerparser_test/headerparser_test.vcproj \
	     vsprojects/instruction_map_test/instruction_map_test.vcproj \
	     vsprojects/jsonwriter_test/jsonwriter_test.vcproj \
	     vsprojects/output_string_test/output_string_test.vcproj \
	     vsprojects/rolling_hash_test/rolling_hash_test.vcproj \
	     vsprojects/varint_bigendian_test/varint_bigendian_test.vcproj \
	     vsprojects/vcdcom/vcdcom.vcproj \
	     vsprojects/vcddec/vcddec.vcproj \
	     vsprojects/vcdecoder_test_common/vcdecoder_test_common.vcproj \
	     vsprojects/vcdecoder1_test/vcdecoder1_test.vcproj \
	     vsprojects/vcdecoder2_test/vcdecoder2_test.vcproj \
	     vsprojects/vcdecoder3_test/vcdecoder3_test.vcproj \
	     vsprojects/vcdecoder4_test/vcdecoder4_test.vcproj \
	     vsprojects/vcdecoder5_test/vcdecoder5_test.vcproj \
	     vsprojects/vcdenc/vcdenc.vcproj \
	     vsprojects/vcdiff/vcdiff.vcproj \
	     vsprojects/vcdiffengine_test/vcdiffengine_test.vcproj \
	     vsprojects/vcdiff_test/vcdiff_test.vcproj \
	     vsprojects/vcencoder_test/vcencoder_test.vcproj

all: all-am

.SUFFIXES:
.SUFFIXES: .c .cc .lo .o .obj
am--refresh: Makefile
	@:
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
	      $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
		&& exit 0; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --gnu 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;

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

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

src/config.h: src/stamp-h1
	@if test ! -f $@; then rm -f src/stamp-h1; else :; fi
	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) src/stamp-h1; else :; fi

src/stamp-h1: $(top_srcdir)/src/config.h.in $(top_builddir)/config.status
	@rm -f src/stamp-h1
	cd $(top_builddir) && $(SHELL) ./config.status src/config.h
$(top_srcdir)/src/config.h.in:  $(am__configure_deps) 
	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
	rm -f src/stamp-h1
	touch $@

distclean-hdr:
	-rm -f src/config.h src/stamp-h1
gflags/src/gflags/gflags.h: $(top_builddir)/config.status $(top_srcdir)/gflags/src/gflags/gflags.h.in
	cd $(top_builddir) && $(SHELL) ./config.status $@
gflags/src/gflags/gflags_completions.h: $(top_builddir)/config.status $(top_srcdir)/gflags/src/gflags/gflags_completions.h.in
	cd $(top_builddir) && $(SHELL) ./config.status $@
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
	@$(NORMAL_INSTALL)
	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
	@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 " $(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)'; for p in $$list; do \
	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
	  test "$$dir" != "$$p" || dir=.; \
	  echo "rm -f \"$${dir}/so_locations\""; \
	  rm -f "$${dir}/so_locations"; \
	done

clean-noinstLTLIBRARIES:
	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
	  test "$$dir" != "$$p" || dir=.; \
	  echo "rm -f \"$${dir}/so_locations\""; \
	  rm -f "$${dir}/so_locations"; \
	done
libgflags.la: $(libgflags_la_OBJECTS) $(libgflags_la_DEPENDENCIES) $(EXTRA_libgflags_la_DEPENDENCIES) 
	$(CXXLINK)  $(libgflags_la_OBJECTS) $(libgflags_la_LIBADD) $(LIBS)
libgtest_main.la: $(libgtest_main_la_OBJECTS) $(libgtest_main_la_DEPENDENCIES) $(EXTRA_libgtest_main_la_DEPENDENCIES) 
	$(CXXLINK)  $(libgtest_main_la_OBJECTS) $(libgtest_main_la_LIBADD) $(LIBS)
libvcdcom.la: $(libvcdcom_la_OBJECTS) $(libvcdcom_la_DEPENDENCIES) $(EXTRA_libvcdcom_la_DEPENDENCIES) 
	$(CXXLINK) -rpath $(libdir) $(libvcdcom_la_OBJECTS) $(libvcdcom_la_LIBADD) $(LIBS)
libvcddec.la: $(libvcddec_la_OBJECTS) $(libvcddec_la_DEPENDENCIES) $(EXTRA_libvcddec_la_DEPENDENCIES) 
	$(CXXLINK) -rpath $(libdir) $(libvcddec_la_OBJECTS) $(libvcddec_la_LIBADD) $(LIBS)
libvcdecoder_test_common.la: $(libvcdecoder_test_common_la_OBJECTS) $(libvcdecoder_test_common_la_DEPENDENCIES) $(EXTRA_libvcdecoder_test_common_la_DEPENDENCIES) 
	$(CXXLINK)  $(libvcdecoder_test_common_la_OBJECTS) $(libvcdecoder_test_common_la_LIBADD) $(LIBS)
libvcdenc.la: $(libvcdenc_la_OBJECTS) $(libvcdenc_la_DEPENDENCIES) $(EXTRA_libvcdenc_la_DEPENDENCIES) 
	$(CXXLINK) -rpath $(libdir) $(libvcdenc_la_OBJECTS) $(libvcdenc_la_LIBADD) $(LIBS)
install-binPROGRAMS: $(bin_PROGRAMS)
	@$(NORMAL_INSTALL)
	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
	for p in $$list; do echo "$$p $$p"; done | \
	sed 's/$(EXEEXT)$$//' | \
	while read p p1; do if test -f $$p || test -f $$p1; \
	  then echo "$$p"; echo "$$p"; else :; fi; \
	done | \
	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
	sed 'N;N;N;s,\n, ,g' | \
	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
	    else { print "f", $$3 "/" $$4, $$1; } } \
	  END { for (d in files) print "f", d, files[d] }' | \
	while read type dir files; do \
	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
	    test -z "$$files" || { \
	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
	    } \
	; done

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

clean-binPROGRAMS:
	@list='$(bin_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

clean-checkPROGRAMS:
	@list='$(check_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

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
addrcache_test$(EXEEXT): $(addrcache_test_OBJECTS) $(addrcache_test_DEPENDENCIES) $(EXTRA_addrcache_test_DEPENDENCIES) 
	@rm -f addrcache_test$(EXEEXT)
	$(CXXLINK) $(addrcache_test_OBJECTS) $(addrcache_test_LDADD) $(LIBS)
blockhash_test$(EXEEXT): $(blockhash_test_OBJECTS) $(blockhash_test_DEPENDENCIES) $(EXTRA_blockhash_test_DEPENDENCIES) 
	@rm -f blockhash_test$(EXEEXT)
	$(CXXLINK) $(blockhash_test_OBJECTS) $(blockhash_test_LDADD) $(LIBS)
codetable_test$(EXEEXT): $(codetable_test_OBJECTS) $(codetable_test_DEPENDENCIES) $(EXTRA_codetable_test_DEPENDENCIES) 
	@rm -f codetable_test$(EXEEXT)
	$(CXXLINK) $(codetable_test_OBJECTS) $(codetable_test_LDADD) $(LIBS)
decodetable_test$(EXEEXT): $(decodetable_test_OBJECTS) $(decodetable_test_DEPENDENCIES) $(EXTRA_decodetable_test_DEPENDENCIES) 
	@rm -f decodetable_test$(EXEEXT)
	$(CXXLINK) $(decodetable_test_OBJECTS) $(decodetable_test_LDADD) $(LIBS)
encodetable_test$(EXEEXT): $(encodetable_test_OBJECTS) $(encodetable_test_DEPENDENCIES) $(EXTRA_encodetable_test_DEPENDENCIES) 
	@rm -f encodetable_test$(EXEEXT)
	$(CXXLINK) $(encodetable_test_OBJECTS) $(encodetable_test_LDADD) $(LIBS)
headerparser_test$(EXEEXT): $(headerparser_test_OBJECTS) $(headerparser_test_DEPENDENCIES) $(EXTRA_headerparser_test_DEPENDENCIES) 
	@rm -f headerparser_test$(EXEEXT)
	$(CXXLINK) $(headerparser_test_OBJECTS) $(headerparser_test_LDADD) $(LIBS)
instruction_map_test$(EXEEXT): $(instruction_map_test_OBJECTS) $(instruction_map_test_DEPENDENCIES) $(EXTRA_instruction_map_test_DEPENDENCIES) 
	@rm -f instruction_map_test$(EXEEXT)
	$(CXXLINK) $(instruction_map_test_OBJECTS) $(instruction_map_test_LDADD) $(LIBS)
jsonwriter_test$(EXEEXT): $(jsonwriter_test_OBJECTS) $(jsonwriter_test_DEPENDENCIES) $(EXTRA_jsonwriter_test_DEPENDENCIES) 
	@rm -f jsonwriter_test$(EXEEXT)
	$(CXXLINK) $(jsonwriter_test_OBJECTS) $(jsonwriter_test_LDADD) $(LIBS)
output_string_test$(EXEEXT): $(output_string_test_OBJECTS) $(output_string_test_DEPENDENCIES) $(EXTRA_output_string_test_DEPENDENCIES) 
	@rm -f output_string_test$(EXEEXT)
	$(CXXLINK) $(output_string_test_OBJECTS) $(output_string_test_LDADD) $(LIBS)
rolling_hash_test$(EXEEXT): $(rolling_hash_test_OBJECTS) $(rolling_hash_test_DEPENDENCIES) $(EXTRA_rolling_hash_test_DEPENDENCIES) 
	@rm -f rolling_hash_test$(EXEEXT)
	$(CXXLINK) $(rolling_hash_test_OBJECTS) $(rolling_hash_test_LDADD) $(LIBS)
varint_bigendian_test$(EXEEXT): $(varint_bigendian_test_OBJECTS) $(varint_bigendian_test_DEPENDENCIES) $(EXTRA_varint_bigendian_test_DEPENDENCIES) 
	@rm -f varint_bigendian_test$(EXEEXT)
	$(CXXLINK) $(varint_bigendian_test_OBJECTS) $(varint_bigendian_test_LDADD) $(LIBS)
vcdecoder1_test$(EXEEXT): $(vcdecoder1_test_OBJECTS) $(vcdecoder1_test_DEPENDENCIES) $(EXTRA_vcdecoder1_test_DEPENDENCIES) 
	@rm -f vcdecoder1_test$(EXEEXT)
	$(CXXLINK) $(vcdecoder1_test_OBJECTS) $(vcdecoder1_test_LDADD) $(LIBS)
vcdecoder2_test$(EXEEXT): $(vcdecoder2_test_OBJECTS) $(vcdecoder2_test_DEPENDENCIES) $(EXTRA_vcdecoder2_test_DEPENDENCIES) 
	@rm -f vcdecoder2_test$(EXEEXT)
	$(CXXLINK) $(vcdecoder2_test_OBJECTS) $(vcdecoder2_test_LDADD) $(LIBS)
vcdecoder3_test$(EXEEXT): $(vcdecoder3_test_OBJECTS) $(vcdecoder3_test_DEPENDENCIES) $(EXTRA_vcdecoder3_test_DEPENDENCIES) 
	@rm -f vcdecoder3_test$(EXEEXT)
	$(CXXLINK) $(vcdecoder3_test_OBJECTS) $(vcdecoder3_test_LDADD) $(LIBS)
vcdecoder4_test$(EXEEXT): $(vcdecoder4_test_OBJECTS) $(vcdecoder4_test_DEPENDENCIES) $(EXTRA_vcdecoder4_test_DEPENDENCIES) 
	@rm -f vcdecoder4_test$(EXEEXT)
	$(CXXLINK) $(vcdecoder4_test_OBJECTS) $(vcdecoder4_test_LDADD) $(LIBS)
vcdecoder5_test$(EXEEXT): $(vcdecoder5_test_OBJECTS) $(vcdecoder5_test_DEPENDENCIES) $(EXTRA_vcdecoder5_test_DEPENDENCIES) 
	@rm -f vcdecoder5_test$(EXEEXT)
	$(CXXLINK) $(vcdecoder5_test_OBJECTS) $(vcdecoder5_test_LDADD) $(LIBS)
vcdiff$(EXEEXT): $(vcdiff_OBJECTS) $(vcdiff_DEPENDENCIES) $(EXTRA_vcdiff_DEPENDENCIES) 
	@rm -f vcdiff$(EXEEXT)
	$(CXXLINK) $(vcdiff_OBJECTS) $(vcdiff_LDADD) $(LIBS)
vcdiffengine_test$(EXEEXT): $(vcdiffengine_test_OBJECTS) $(vcdiffengine_test_DEPENDENCIES) $(EXTRA_vcdiffengine_test_DEPENDENCIES) 
	@rm -f vcdiffengine_test$(EXEEXT)
	$(CXXLINK) $(vcdiffengine_test_OBJECTS) $(vcdiffengine_test_LDADD) $(LIBS)
vcencoder_test$(EXEEXT): $(vcencoder_test_OBJECTS) $(vcencoder_test_DEPENDENCIES) $(EXTRA_vcencoder_test_DEPENDENCIES) 
	@rm -f vcencoder_test$(EXEEXT)
	$(CXXLINK) $(vcencoder_test_OBJECTS) $(vcencoder_test_LDADD) $(LIBS)

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

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

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addrcache.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addrcache_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adler32.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blockhash.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blockhash_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/codetable.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/codetable_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decodetable.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decodetable_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encodetable.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encodetable_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gflags.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gflags_completions.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gflags_reporting.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtest-death-test.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtest-filepath.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtest-port.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtest-test-part.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtest-typed-test.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtest.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtest_main.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/headerparser.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/headerparser_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/instruction_map.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/instruction_map_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jsonwriter.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jsonwriter_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logging.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/output_string_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rolling_hash_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/varint_bigendian.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/varint_bigendian_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vcdecoder.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vcdecoder1_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vcdecoder2_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vcdecoder3_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vcdecoder4_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vcdecoder5_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vcdecoder_test.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vcdiff_main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vcdiffengine.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vcdiffengine_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vcencoder.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vcencoder_test.Po@am__quote@

.c.o:
@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(COMPILE) -c $<

.c.obj:
@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`

.c.lo:
@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<

adler32.lo: src/zlib/adler32.c
@am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT adler32.lo -MD -MP -MF $(DEPDIR)/adler32.Tpo -c -o adler32.lo `test -f 'src/zlib/adler32.c' || echo '$(srcdir)/'`src/zlib/adler32.c
@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/adler32.Tpo $(DEPDIR)/adler32.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/zlib/adler32.c' object='adler32.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o adler32.lo `test -f 'src/zlib/adler32.c' || echo '$(srcdir)/'`src/zlib/adler32.c

.cc.o:
@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@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 $@ $<

.cc.obj:
@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@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) '$<'`

.cc.lo:
@am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@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 $@ $<

gflags.lo: gflags/src/gflags.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gflags.lo -MD -MP -MF $(DEPDIR)/gflags.Tpo -c -o gflags.lo `test -f 'gflags/src/gflags.cc' || echo '$(srcdir)/'`gflags/src/gflags.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/gflags.Tpo $(DEPDIR)/gflags.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='gflags/src/gflags.cc' object='gflags.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gflags.lo `test -f 'gflags/src/gflags.cc' || echo '$(srcdir)/'`gflags/src/gflags.cc

gflags_completions.lo: gflags/src/gflags_completions.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gflags_completions.lo -MD -MP -MF $(DEPDIR)/gflags_completions.Tpo -c -o gflags_completions.lo `test -f 'gflags/src/gflags_completions.cc' || echo '$(srcdir)/'`gflags/src/gflags_completions.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/gflags_completions.Tpo $(DEPDIR)/gflags_completions.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='gflags/src/gflags_completions.cc' object='gflags_completions.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gflags_completions.lo `test -f 'gflags/src/gflags_completions.cc' || echo '$(srcdir)/'`gflags/src/gflags_completions.cc

gflags_reporting.lo: gflags/src/gflags_reporting.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gflags_reporting.lo -MD -MP -MF $(DEPDIR)/gflags_reporting.Tpo -c -o gflags_reporting.lo `test -f 'gflags/src/gflags_reporting.cc' || echo '$(srcdir)/'`gflags/src/gflags_reporting.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/gflags_reporting.Tpo $(DEPDIR)/gflags_reporting.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='gflags/src/gflags_reporting.cc' object='gflags_reporting.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gflags_reporting.lo `test -f 'gflags/src/gflags_reporting.cc' || echo '$(srcdir)/'`gflags/src/gflags_reporting.cc

gtest.lo: gtest/src/gtest.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gtest.lo -MD -MP -MF $(DEPDIR)/gtest.Tpo -c -o gtest.lo `test -f 'gtest/src/gtest.cc' || echo '$(srcdir)/'`gtest/src/gtest.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/gtest.Tpo $(DEPDIR)/gtest.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='gtest/src/gtest.cc' object='gtest.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gtest.lo `test -f 'gtest/src/gtest.cc' || echo '$(srcdir)/'`gtest/src/gtest.cc

gtest-death-test.lo: gtest/src/gtest-death-test.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gtest-death-test.lo -MD -MP -MF $(DEPDIR)/gtest-death-test.Tpo -c -o gtest-death-test.lo `test -f 'gtest/src/gtest-death-test.cc' || echo '$(srcdir)/'`gtest/src/gtest-death-test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/gtest-death-test.Tpo $(DEPDIR)/gtest-death-test.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='gtest/src/gtest-death-test.cc' object='gtest-death-test.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gtest-death-test.lo `test -f 'gtest/src/gtest-death-test.cc' || echo '$(srcdir)/'`gtest/src/gtest-death-test.cc

gtest-filepath.lo: gtest/src/gtest-filepath.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gtest-filepath.lo -MD -MP -MF $(DEPDIR)/gtest-filepath.Tpo -c -o gtest-filepath.lo `test -f 'gtest/src/gtest-filepath.cc' || echo '$(srcdir)/'`gtest/src/gtest-filepath.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/gtest-filepath.Tpo $(DEPDIR)/gtest-filepath.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='gtest/src/gtest-filepath.cc' object='gtest-filepath.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gtest-filepath.lo `test -f 'gtest/src/gtest-filepath.cc' || echo '$(srcdir)/'`gtest/src/gtest-filepath.cc

gtest-port.lo: gtest/src/gtest-port.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gtest-port.lo -MD -MP -MF $(DEPDIR)/gtest-port.Tpo -c -o gtest-port.lo `test -f 'gtest/src/gtest-port.cc' || echo '$(srcdir)/'`gtest/src/gtest-port.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/gtest-port.Tpo $(DEPDIR)/gtest-port.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='gtest/src/gtest-port.cc' object='gtest-port.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gtest-port.lo `test -f 'gtest/src/gtest-port.cc' || echo '$(srcdir)/'`gtest/src/gtest-port.cc

gtest-test-part.lo: gtest/src/gtest-test-part.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gtest-test-part.lo -MD -MP -MF $(DEPDIR)/gtest-test-part.Tpo -c -o gtest-test-part.lo `test -f 'gtest/src/gtest-test-part.cc' || echo '$(srcdir)/'`gtest/src/gtest-test-part.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/gtest-test-part.Tpo $(DEPDIR)/gtest-test-part.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='gtest/src/gtest-test-part.cc' object='gtest-test-part.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gtest-test-part.lo `test -f 'gtest/src/gtest-test-part.cc' || echo '$(srcdir)/'`gtest/src/gtest-test-part.cc

gtest-typed-test.lo: gtest/src/gtest-typed-test.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gtest-typed-test.lo -MD -MP -MF $(DEPDIR)/gtest-typed-test.Tpo -c -o gtest-typed-test.lo `test -f 'gtest/src/gtest-typed-test.cc' || echo '$(srcdir)/'`gtest/src/gtest-typed-test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/gtest-typed-test.Tpo $(DEPDIR)/gtest-typed-test.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='gtest/src/gtest-typed-test.cc' object='gtest-typed-test.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gtest-typed-test.lo `test -f 'gtest/src/gtest-typed-test.cc' || echo '$(srcdir)/'`gtest/src/gtest-typed-test.cc

gtest_main.lo: gtest/src/gtest_main.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gtest_main.lo -MD -MP -MF $(DEPDIR)/gtest_main.Tpo -c -o gtest_main.lo `test -f 'gtest/src/gtest_main.cc' || echo '$(srcdir)/'`gtest/src/gtest_main.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/gtest_main.Tpo $(DEPDIR)/gtest_main.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='gtest/src/gtest_main.cc' object='gtest_main.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gtest_main.lo `test -f 'gtest/src/gtest_main.cc' || echo '$(srcdir)/'`gtest/src/gtest_main.cc

addrcache.lo: src/addrcache.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT addrcache.lo -MD -MP -MF $(DEPDIR)/addrcache.Tpo -c -o addrcache.lo `test -f 'src/addrcache.cc' || echo '$(srcdir)/'`src/addrcache.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/addrcache.Tpo $(DEPDIR)/addrcache.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/addrcache.cc' object='addrcache.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o addrcache.lo `test -f 'src/addrcache.cc' || echo '$(srcdir)/'`src/addrcache.cc

codetable.lo: src/codetable.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT codetable.lo -MD -MP -MF $(DEPDIR)/codetable.Tpo -c -o codetable.lo `test -f 'src/codetable.cc' || echo '$(srcdir)/'`src/codetable.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/codetable.Tpo $(DEPDIR)/codetable.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/codetable.cc' object='codetable.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o codetable.lo `test -f 'src/codetable.cc' || echo '$(srcdir)/'`src/codetable.cc

logging.lo: src/logging.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT logging.lo -MD -MP -MF $(DEPDIR)/logging.Tpo -c -o logging.lo `test -f 'src/logging.cc' || echo '$(srcdir)/'`src/logging.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/logging.Tpo $(DEPDIR)/logging.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/logging.cc' object='logging.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o logging.lo `test -f 'src/logging.cc' || echo '$(srcdir)/'`src/logging.cc

varint_bigendian.lo: src/varint_bigendian.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT varint_bigendian.lo -MD -MP -MF $(DEPDIR)/varint_bigendian.Tpo -c -o varint_bigendian.lo `test -f 'src/varint_bigendian.cc' || echo '$(srcdir)/'`src/varint_bigendian.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/varint_bigendian.Tpo $(DEPDIR)/varint_bigendian.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/varint_bigendian.cc' object='varint_bigendian.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o varint_bigendian.lo `test -f 'src/varint_bigendian.cc' || echo '$(srcdir)/'`src/varint_bigendian.cc

decodetable.lo: src/decodetable.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT decodetable.lo -MD -MP -MF $(DEPDIR)/decodetable.Tpo -c -o decodetable.lo `test -f 'src/decodetable.cc' || echo '$(srcdir)/'`src/decodetable.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/decodetable.Tpo $(DEPDIR)/decodetable.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/decodetable.cc' object='decodetable.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o decodetable.lo `test -f 'src/decodetable.cc' || echo '$(srcdir)/'`src/decodetable.cc

headerparser.lo: src/headerparser.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT headerparser.lo -MD -MP -MF $(DEPDIR)/headerparser.Tpo -c -o headerparser.lo `test -f 'src/headerparser.cc' || echo '$(srcdir)/'`src/headerparser.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/headerparser.Tpo $(DEPDIR)/headerparser.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/headerparser.cc' object='headerparser.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o headerparser.lo `test -f 'src/headerparser.cc' || echo '$(srcdir)/'`src/headerparser.cc

vcdecoder.lo: src/vcdecoder.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdecoder.lo -MD -MP -MF $(DEPDIR)/vcdecoder.Tpo -c -o vcdecoder.lo `test -f 'src/vcdecoder.cc' || echo '$(srcdir)/'`src/vcdecoder.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdecoder.Tpo $(DEPDIR)/vcdecoder.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdecoder.cc' object='vcdecoder.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o vcdecoder.lo `test -f 'src/vcdecoder.cc' || echo '$(srcdir)/'`src/vcdecoder.cc

vcdecoder_test.lo: src/vcdecoder_test.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdecoder_test.lo -MD -MP -MF $(DEPDIR)/vcdecoder_test.Tpo -c -o vcdecoder_test.lo `test -f 'src/vcdecoder_test.cc' || echo '$(srcdir)/'`src/vcdecoder_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdecoder_test.Tpo $(DEPDIR)/vcdecoder_test.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdecoder_test.cc' object='vcdecoder_test.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o vcdecoder_test.lo `test -f 'src/vcdecoder_test.cc' || echo '$(srcdir)/'`src/vcdecoder_test.cc

blockhash.lo: src/blockhash.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT blockhash.lo -MD -MP -MF $(DEPDIR)/blockhash.Tpo -c -o blockhash.lo `test -f 'src/blockhash.cc' || echo '$(srcdir)/'`src/blockhash.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/blockhash.Tpo $(DEPDIR)/blockhash.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/blockhash.cc' object='blockhash.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o blockhash.lo `test -f 'src/blockhash.cc' || echo '$(srcdir)/'`src/blockhash.cc

encodetable.lo: src/encodetable.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT encodetable.lo -MD -MP -MF $(DEPDIR)/encodetable.Tpo -c -o encodetable.lo `test -f 'src/encodetable.cc' || echo '$(srcdir)/'`src/encodetable.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/encodetable.Tpo $(DEPDIR)/encodetable.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/encodetable.cc' object='encodetable.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o encodetable.lo `test -f 'src/encodetable.cc' || echo '$(srcdir)/'`src/encodetable.cc

instruction_map.lo: src/instruction_map.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT instruction_map.lo -MD -MP -MF $(DEPDIR)/instruction_map.Tpo -c -o instruction_map.lo `test -f 'src/instruction_map.cc' || echo '$(srcdir)/'`src/instruction_map.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/instruction_map.Tpo $(DEPDIR)/instruction_map.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/instruction_map.cc' object='instruction_map.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o instruction_map.lo `test -f 'src/instruction_map.cc' || echo '$(srcdir)/'`src/instruction_map.cc

jsonwriter.lo: src/jsonwriter.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT jsonwriter.lo -MD -MP -MF $(DEPDIR)/jsonwriter.Tpo -c -o jsonwriter.lo `test -f 'src/jsonwriter.cc' || echo '$(srcdir)/'`src/jsonwriter.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/jsonwriter.Tpo $(DEPDIR)/jsonwriter.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/jsonwriter.cc' object='jsonwriter.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o jsonwriter.lo `test -f 'src/jsonwriter.cc' || echo '$(srcdir)/'`src/jsonwriter.cc

vcdiffengine.lo: src/vcdiffengine.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdiffengine.lo -MD -MP -MF $(DEPDIR)/vcdiffengine.Tpo -c -o vcdiffengine.lo `test -f 'src/vcdiffengine.cc' || echo '$(srcdir)/'`src/vcdiffengine.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdiffengine.Tpo $(DEPDIR)/vcdiffengine.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdiffengine.cc' object='vcdiffengine.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o vcdiffengine.lo `test -f 'src/vcdiffengine.cc' || echo '$(srcdir)/'`src/vcdiffengine.cc

vcencoder.lo: src/vcencoder.cc
@am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcencoder.lo -MD -MP -MF $(DEPDIR)/vcencoder.Tpo -c -o vcencoder.lo `test -f 'src/vcencoder.cc' || echo '$(srcdir)/'`src/vcencoder.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcencoder.Tpo $(DEPDIR)/vcencoder.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcencoder.cc' object='vcencoder.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o vcencoder.lo `test -f 'src/vcencoder.cc' || echo '$(srcdir)/'`src/vcencoder.cc

addrcache_test.o: src/addrcache_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT addrcache_test.o -MD -MP -MF $(DEPDIR)/addrcache_test.Tpo -c -o addrcache_test.o `test -f 'src/addrcache_test.cc' || echo '$(srcdir)/'`src/addrcache_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/addrcache_test.Tpo $(DEPDIR)/addrcache_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/addrcache_test.cc' object='addrcache_test.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 addrcache_test.o `test -f 'src/addrcache_test.cc' || echo '$(srcdir)/'`src/addrcache_test.cc

addrcache_test.obj: src/addrcache_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT addrcache_test.obj -MD -MP -MF $(DEPDIR)/addrcache_test.Tpo -c -o addrcache_test.obj `if test -f 'src/addrcache_test.cc'; then $(CYGPATH_W) 'src/addrcache_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/addrcache_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/addrcache_test.Tpo $(DEPDIR)/addrcache_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/addrcache_test.cc' object='addrcache_test.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 addrcache_test.obj `if test -f 'src/addrcache_test.cc'; then $(CYGPATH_W) 'src/addrcache_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/addrcache_test.cc'; fi`

blockhash_test.o: src/blockhash_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT blockhash_test.o -MD -MP -MF $(DEPDIR)/blockhash_test.Tpo -c -o blockhash_test.o `test -f 'src/blockhash_test.cc' || echo '$(srcdir)/'`src/blockhash_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/blockhash_test.Tpo $(DEPDIR)/blockhash_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/blockhash_test.cc' object='blockhash_test.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 blockhash_test.o `test -f 'src/blockhash_test.cc' || echo '$(srcdir)/'`src/blockhash_test.cc

blockhash_test.obj: src/blockhash_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT blockhash_test.obj -MD -MP -MF $(DEPDIR)/blockhash_test.Tpo -c -o blockhash_test.obj `if test -f 'src/blockhash_test.cc'; then $(CYGPATH_W) 'src/blockhash_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/blockhash_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/blockhash_test.Tpo $(DEPDIR)/blockhash_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/blockhash_test.cc' object='blockhash_test.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 blockhash_test.obj `if test -f 'src/blockhash_test.cc'; then $(CYGPATH_W) 'src/blockhash_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/blockhash_test.cc'; fi`

codetable_test.o: src/codetable_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT codetable_test.o -MD -MP -MF $(DEPDIR)/codetable_test.Tpo -c -o codetable_test.o `test -f 'src/codetable_test.cc' || echo '$(srcdir)/'`src/codetable_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/codetable_test.Tpo $(DEPDIR)/codetable_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/codetable_test.cc' object='codetable_test.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 codetable_test.o `test -f 'src/codetable_test.cc' || echo '$(srcdir)/'`src/codetable_test.cc

codetable_test.obj: src/codetable_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT codetable_test.obj -MD -MP -MF $(DEPDIR)/codetable_test.Tpo -c -o codetable_test.obj `if test -f 'src/codetable_test.cc'; then $(CYGPATH_W) 'src/codetable_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/codetable_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/codetable_test.Tpo $(DEPDIR)/codetable_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/codetable_test.cc' object='codetable_test.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 codetable_test.obj `if test -f 'src/codetable_test.cc'; then $(CYGPATH_W) 'src/codetable_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/codetable_test.cc'; fi`

decodetable_test.o: src/decodetable_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT decodetable_test.o -MD -MP -MF $(DEPDIR)/decodetable_test.Tpo -c -o decodetable_test.o `test -f 'src/decodetable_test.cc' || echo '$(srcdir)/'`src/decodetable_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/decodetable_test.Tpo $(DEPDIR)/decodetable_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/decodetable_test.cc' object='decodetable_test.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 decodetable_test.o `test -f 'src/decodetable_test.cc' || echo '$(srcdir)/'`src/decodetable_test.cc

decodetable_test.obj: src/decodetable_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT decodetable_test.obj -MD -MP -MF $(DEPDIR)/decodetable_test.Tpo -c -o decodetable_test.obj `if test -f 'src/decodetable_test.cc'; then $(CYGPATH_W) 'src/decodetable_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/decodetable_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/decodetable_test.Tpo $(DEPDIR)/decodetable_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/decodetable_test.cc' object='decodetable_test.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 decodetable_test.obj `if test -f 'src/decodetable_test.cc'; then $(CYGPATH_W) 'src/decodetable_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/decodetable_test.cc'; fi`

encodetable_test.o: src/encodetable_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT encodetable_test.o -MD -MP -MF $(DEPDIR)/encodetable_test.Tpo -c -o encodetable_test.o `test -f 'src/encodetable_test.cc' || echo '$(srcdir)/'`src/encodetable_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/encodetable_test.Tpo $(DEPDIR)/encodetable_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/encodetable_test.cc' object='encodetable_test.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 encodetable_test.o `test -f 'src/encodetable_test.cc' || echo '$(srcdir)/'`src/encodetable_test.cc

encodetable_test.obj: src/encodetable_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT encodetable_test.obj -MD -MP -MF $(DEPDIR)/encodetable_test.Tpo -c -o encodetable_test.obj `if test -f 'src/encodetable_test.cc'; then $(CYGPATH_W) 'src/encodetable_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/encodetable_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/encodetable_test.Tpo $(DEPDIR)/encodetable_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/encodetable_test.cc' object='encodetable_test.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 encodetable_test.obj `if test -f 'src/encodetable_test.cc'; then $(CYGPATH_W) 'src/encodetable_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/encodetable_test.cc'; fi`

headerparser_test.o: src/headerparser_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT headerparser_test.o -MD -MP -MF $(DEPDIR)/headerparser_test.Tpo -c -o headerparser_test.o `test -f 'src/headerparser_test.cc' || echo '$(srcdir)/'`src/headerparser_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/headerparser_test.Tpo $(DEPDIR)/headerparser_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/headerparser_test.cc' object='headerparser_test.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 headerparser_test.o `test -f 'src/headerparser_test.cc' || echo '$(srcdir)/'`src/headerparser_test.cc

headerparser_test.obj: src/headerparser_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT headerparser_test.obj -MD -MP -MF $(DEPDIR)/headerparser_test.Tpo -c -o headerparser_test.obj `if test -f 'src/headerparser_test.cc'; then $(CYGPATH_W) 'src/headerparser_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/headerparser_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/headerparser_test.Tpo $(DEPDIR)/headerparser_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/headerparser_test.cc' object='headerparser_test.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 headerparser_test.obj `if test -f 'src/headerparser_test.cc'; then $(CYGPATH_W) 'src/headerparser_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/headerparser_test.cc'; fi`

instruction_map_test.o: src/instruction_map_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT instruction_map_test.o -MD -MP -MF $(DEPDIR)/instruction_map_test.Tpo -c -o instruction_map_test.o `test -f 'src/instruction_map_test.cc' || echo '$(srcdir)/'`src/instruction_map_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/instruction_map_test.Tpo $(DEPDIR)/instruction_map_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/instruction_map_test.cc' object='instruction_map_test.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 instruction_map_test.o `test -f 'src/instruction_map_test.cc' || echo '$(srcdir)/'`src/instruction_map_test.cc

instruction_map_test.obj: src/instruction_map_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT instruction_map_test.obj -MD -MP -MF $(DEPDIR)/instruction_map_test.Tpo -c -o instruction_map_test.obj `if test -f 'src/instruction_map_test.cc'; then $(CYGPATH_W) 'src/instruction_map_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/instruction_map_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/instruction_map_test.Tpo $(DEPDIR)/instruction_map_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/instruction_map_test.cc' object='instruction_map_test.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 instruction_map_test.obj `if test -f 'src/instruction_map_test.cc'; then $(CYGPATH_W) 'src/instruction_map_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/instruction_map_test.cc'; fi`

jsonwriter_test.o: src/jsonwriter_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT jsonwriter_test.o -MD -MP -MF $(DEPDIR)/jsonwriter_test.Tpo -c -o jsonwriter_test.o `test -f 'src/jsonwriter_test.cc' || echo '$(srcdir)/'`src/jsonwriter_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/jsonwriter_test.Tpo $(DEPDIR)/jsonwriter_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/jsonwriter_test.cc' object='jsonwriter_test.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 jsonwriter_test.o `test -f 'src/jsonwriter_test.cc' || echo '$(srcdir)/'`src/jsonwriter_test.cc

jsonwriter_test.obj: src/jsonwriter_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT jsonwriter_test.obj -MD -MP -MF $(DEPDIR)/jsonwriter_test.Tpo -c -o jsonwriter_test.obj `if test -f 'src/jsonwriter_test.cc'; then $(CYGPATH_W) 'src/jsonwriter_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/jsonwriter_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/jsonwriter_test.Tpo $(DEPDIR)/jsonwriter_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/jsonwriter_test.cc' object='jsonwriter_test.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 jsonwriter_test.obj `if test -f 'src/jsonwriter_test.cc'; then $(CYGPATH_W) 'src/jsonwriter_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/jsonwriter_test.cc'; fi`

output_string_test.o: src/output_string_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT output_string_test.o -MD -MP -MF $(DEPDIR)/output_string_test.Tpo -c -o output_string_test.o `test -f 'src/output_string_test.cc' || echo '$(srcdir)/'`src/output_string_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/output_string_test.Tpo $(DEPDIR)/output_string_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/output_string_test.cc' object='output_string_test.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 output_string_test.o `test -f 'src/output_string_test.cc' || echo '$(srcdir)/'`src/output_string_test.cc

output_string_test.obj: src/output_string_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT output_string_test.obj -MD -MP -MF $(DEPDIR)/output_string_test.Tpo -c -o output_string_test.obj `if test -f 'src/output_string_test.cc'; then $(CYGPATH_W) 'src/output_string_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/output_string_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/output_string_test.Tpo $(DEPDIR)/output_string_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/output_string_test.cc' object='output_string_test.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 output_string_test.obj `if test -f 'src/output_string_test.cc'; then $(CYGPATH_W) 'src/output_string_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/output_string_test.cc'; fi`

rolling_hash_test.o: src/rolling_hash_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rolling_hash_test.o -MD -MP -MF $(DEPDIR)/rolling_hash_test.Tpo -c -o rolling_hash_test.o `test -f 'src/rolling_hash_test.cc' || echo '$(srcdir)/'`src/rolling_hash_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/rolling_hash_test.Tpo $(DEPDIR)/rolling_hash_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/rolling_hash_test.cc' object='rolling_hash_test.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 rolling_hash_test.o `test -f 'src/rolling_hash_test.cc' || echo '$(srcdir)/'`src/rolling_hash_test.cc

rolling_hash_test.obj: src/rolling_hash_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rolling_hash_test.obj -MD -MP -MF $(DEPDIR)/rolling_hash_test.Tpo -c -o rolling_hash_test.obj `if test -f 'src/rolling_hash_test.cc'; then $(CYGPATH_W) 'src/rolling_hash_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/rolling_hash_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/rolling_hash_test.Tpo $(DEPDIR)/rolling_hash_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/rolling_hash_test.cc' object='rolling_hash_test.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 rolling_hash_test.obj `if test -f 'src/rolling_hash_test.cc'; then $(CYGPATH_W) 'src/rolling_hash_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/rolling_hash_test.cc'; fi`

varint_bigendian_test.o: src/varint_bigendian_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT varint_bigendian_test.o -MD -MP -MF $(DEPDIR)/varint_bigendian_test.Tpo -c -o varint_bigendian_test.o `test -f 'src/varint_bigendian_test.cc' || echo '$(srcdir)/'`src/varint_bigendian_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/varint_bigendian_test.Tpo $(DEPDIR)/varint_bigendian_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/varint_bigendian_test.cc' object='varint_bigendian_test.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 varint_bigendian_test.o `test -f 'src/varint_bigendian_test.cc' || echo '$(srcdir)/'`src/varint_bigendian_test.cc

varint_bigendian_test.obj: src/varint_bigendian_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT varint_bigendian_test.obj -MD -MP -MF $(DEPDIR)/varint_bigendian_test.Tpo -c -o varint_bigendian_test.obj `if test -f 'src/varint_bigendian_test.cc'; then $(CYGPATH_W) 'src/varint_bigendian_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/varint_bigendian_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/varint_bigendian_test.Tpo $(DEPDIR)/varint_bigendian_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/varint_bigendian_test.cc' object='varint_bigendian_test.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 varint_bigendian_test.obj `if test -f 'src/varint_bigendian_test.cc'; then $(CYGPATH_W) 'src/varint_bigendian_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/varint_bigendian_test.cc'; fi`

vcdecoder1_test.o: src/vcdecoder1_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdecoder1_test.o -MD -MP -MF $(DEPDIR)/vcdecoder1_test.Tpo -c -o vcdecoder1_test.o `test -f 'src/vcdecoder1_test.cc' || echo '$(srcdir)/'`src/vcdecoder1_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdecoder1_test.Tpo $(DEPDIR)/vcdecoder1_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdecoder1_test.cc' object='vcdecoder1_test.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 vcdecoder1_test.o `test -f 'src/vcdecoder1_test.cc' || echo '$(srcdir)/'`src/vcdecoder1_test.cc

vcdecoder1_test.obj: src/vcdecoder1_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdecoder1_test.obj -MD -MP -MF $(DEPDIR)/vcdecoder1_test.Tpo -c -o vcdecoder1_test.obj `if test -f 'src/vcdecoder1_test.cc'; then $(CYGPATH_W) 'src/vcdecoder1_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcdecoder1_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdecoder1_test.Tpo $(DEPDIR)/vcdecoder1_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdecoder1_test.cc' object='vcdecoder1_test.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 vcdecoder1_test.obj `if test -f 'src/vcdecoder1_test.cc'; then $(CYGPATH_W) 'src/vcdecoder1_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcdecoder1_test.cc'; fi`

vcdecoder2_test.o: src/vcdecoder2_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdecoder2_test.o -MD -MP -MF $(DEPDIR)/vcdecoder2_test.Tpo -c -o vcdecoder2_test.o `test -f 'src/vcdecoder2_test.cc' || echo '$(srcdir)/'`src/vcdecoder2_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdecoder2_test.Tpo $(DEPDIR)/vcdecoder2_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdecoder2_test.cc' object='vcdecoder2_test.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 vcdecoder2_test.o `test -f 'src/vcdecoder2_test.cc' || echo '$(srcdir)/'`src/vcdecoder2_test.cc

vcdecoder2_test.obj: src/vcdecoder2_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdecoder2_test.obj -MD -MP -MF $(DEPDIR)/vcdecoder2_test.Tpo -c -o vcdecoder2_test.obj `if test -f 'src/vcdecoder2_test.cc'; then $(CYGPATH_W) 'src/vcdecoder2_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcdecoder2_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdecoder2_test.Tpo $(DEPDIR)/vcdecoder2_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdecoder2_test.cc' object='vcdecoder2_test.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 vcdecoder2_test.obj `if test -f 'src/vcdecoder2_test.cc'; then $(CYGPATH_W) 'src/vcdecoder2_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcdecoder2_test.cc'; fi`

vcdecoder3_test.o: src/vcdecoder3_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdecoder3_test.o -MD -MP -MF $(DEPDIR)/vcdecoder3_test.Tpo -c -o vcdecoder3_test.o `test -f 'src/vcdecoder3_test.cc' || echo '$(srcdir)/'`src/vcdecoder3_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdecoder3_test.Tpo $(DEPDIR)/vcdecoder3_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdecoder3_test.cc' object='vcdecoder3_test.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 vcdecoder3_test.o `test -f 'src/vcdecoder3_test.cc' || echo '$(srcdir)/'`src/vcdecoder3_test.cc

vcdecoder3_test.obj: src/vcdecoder3_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdecoder3_test.obj -MD -MP -MF $(DEPDIR)/vcdecoder3_test.Tpo -c -o vcdecoder3_test.obj `if test -f 'src/vcdecoder3_test.cc'; then $(CYGPATH_W) 'src/vcdecoder3_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcdecoder3_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdecoder3_test.Tpo $(DEPDIR)/vcdecoder3_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdecoder3_test.cc' object='vcdecoder3_test.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 vcdecoder3_test.obj `if test -f 'src/vcdecoder3_test.cc'; then $(CYGPATH_W) 'src/vcdecoder3_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcdecoder3_test.cc'; fi`

vcdecoder4_test.o: src/vcdecoder4_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdecoder4_test.o -MD -MP -MF $(DEPDIR)/vcdecoder4_test.Tpo -c -o vcdecoder4_test.o `test -f 'src/vcdecoder4_test.cc' || echo '$(srcdir)/'`src/vcdecoder4_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdecoder4_test.Tpo $(DEPDIR)/vcdecoder4_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdecoder4_test.cc' object='vcdecoder4_test.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 vcdecoder4_test.o `test -f 'src/vcdecoder4_test.cc' || echo '$(srcdir)/'`src/vcdecoder4_test.cc

vcdecoder4_test.obj: src/vcdecoder4_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdecoder4_test.obj -MD -MP -MF $(DEPDIR)/vcdecoder4_test.Tpo -c -o vcdecoder4_test.obj `if test -f 'src/vcdecoder4_test.cc'; then $(CYGPATH_W) 'src/vcdecoder4_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcdecoder4_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdecoder4_test.Tpo $(DEPDIR)/vcdecoder4_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdecoder4_test.cc' object='vcdecoder4_test.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 vcdecoder4_test.obj `if test -f 'src/vcdecoder4_test.cc'; then $(CYGPATH_W) 'src/vcdecoder4_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcdecoder4_test.cc'; fi`

vcdecoder5_test.o: src/vcdecoder5_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdecoder5_test.o -MD -MP -MF $(DEPDIR)/vcdecoder5_test.Tpo -c -o vcdecoder5_test.o `test -f 'src/vcdecoder5_test.cc' || echo '$(srcdir)/'`src/vcdecoder5_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdecoder5_test.Tpo $(DEPDIR)/vcdecoder5_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdecoder5_test.cc' object='vcdecoder5_test.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 vcdecoder5_test.o `test -f 'src/vcdecoder5_test.cc' || echo '$(srcdir)/'`src/vcdecoder5_test.cc

vcdecoder5_test.obj: src/vcdecoder5_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdecoder5_test.obj -MD -MP -MF $(DEPDIR)/vcdecoder5_test.Tpo -c -o vcdecoder5_test.obj `if test -f 'src/vcdecoder5_test.cc'; then $(CYGPATH_W) 'src/vcdecoder5_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcdecoder5_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdecoder5_test.Tpo $(DEPDIR)/vcdecoder5_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdecoder5_test.cc' object='vcdecoder5_test.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 vcdecoder5_test.obj `if test -f 'src/vcdecoder5_test.cc'; then $(CYGPATH_W) 'src/vcdecoder5_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcdecoder5_test.cc'; fi`

vcdiff_main.o: src/vcdiff_main.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdiff_main.o -MD -MP -MF $(DEPDIR)/vcdiff_main.Tpo -c -o vcdiff_main.o `test -f 'src/vcdiff_main.cc' || echo '$(srcdir)/'`src/vcdiff_main.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdiff_main.Tpo $(DEPDIR)/vcdiff_main.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdiff_main.cc' object='vcdiff_main.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 vcdiff_main.o `test -f 'src/vcdiff_main.cc' || echo '$(srcdir)/'`src/vcdiff_main.cc

vcdiff_main.obj: src/vcdiff_main.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdiff_main.obj -MD -MP -MF $(DEPDIR)/vcdiff_main.Tpo -c -o vcdiff_main.obj `if test -f 'src/vcdiff_main.cc'; then $(CYGPATH_W) 'src/vcdiff_main.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcdiff_main.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdiff_main.Tpo $(DEPDIR)/vcdiff_main.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdiff_main.cc' object='vcdiff_main.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 vcdiff_main.obj `if test -f 'src/vcdiff_main.cc'; then $(CYGPATH_W) 'src/vcdiff_main.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcdiff_main.cc'; fi`

vcdiffengine_test.o: src/vcdiffengine_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdiffengine_test.o -MD -MP -MF $(DEPDIR)/vcdiffengine_test.Tpo -c -o vcdiffengine_test.o `test -f 'src/vcdiffengine_test.cc' || echo '$(srcdir)/'`src/vcdiffengine_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdiffengine_test.Tpo $(DEPDIR)/vcdiffengine_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdiffengine_test.cc' object='vcdiffengine_test.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 vcdiffengine_test.o `test -f 'src/vcdiffengine_test.cc' || echo '$(srcdir)/'`src/vcdiffengine_test.cc

vcdiffengine_test.obj: src/vcdiffengine_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcdiffengine_test.obj -MD -MP -MF $(DEPDIR)/vcdiffengine_test.Tpo -c -o vcdiffengine_test.obj `if test -f 'src/vcdiffengine_test.cc'; then $(CYGPATH_W) 'src/vcdiffengine_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcdiffengine_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcdiffengine_test.Tpo $(DEPDIR)/vcdiffengine_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcdiffengine_test.cc' object='vcdiffengine_test.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 vcdiffengine_test.obj `if test -f 'src/vcdiffengine_test.cc'; then $(CYGPATH_W) 'src/vcdiffengine_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcdiffengine_test.cc'; fi`

vcencoder_test.o: src/vcencoder_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcencoder_test.o -MD -MP -MF $(DEPDIR)/vcencoder_test.Tpo -c -o vcencoder_test.o `test -f 'src/vcencoder_test.cc' || echo '$(srcdir)/'`src/vcencoder_test.cc
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcencoder_test.Tpo $(DEPDIR)/vcencoder_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcencoder_test.cc' object='vcencoder_test.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 vcencoder_test.o `test -f 'src/vcencoder_test.cc' || echo '$(srcdir)/'`src/vcencoder_test.cc

vcencoder_test.obj: src/vcencoder_test.cc
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vcencoder_test.obj -MD -MP -MF $(DEPDIR)/vcencoder_test.Tpo -c -o vcencoder_test.obj `if test -f 'src/vcencoder_test.cc'; then $(CYGPATH_W) 'src/vcencoder_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcencoder_test.cc'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/vcencoder_test.Tpo $(DEPDIR)/vcencoder_test.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/vcencoder_test.cc' object='vcencoder_test.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 vcencoder_test.obj `if test -f 'src/vcencoder_test.cc'; then $(CYGPATH_W) 'src/vcencoder_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/vcencoder_test.cc'; fi`

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

distclean-libtool:
	-rm -f libtool config.lt
install-man1: $(dist_man1_MANS)
	@$(NORMAL_INSTALL)
	test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
	@list='$(dist_man1_MANS)'; test -n "$(man1dir)" || exit 0; \
	{ for i in $$list; do echo "$$i"; done; \
	} | while read p; do \
	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; echo "$$p"; \
	done | \
	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
	sed 'N;N;s,\n, ,g' | { \
	list=; while read file base inst; do \
	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
	  fi; \
	done; \
	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
	while read files; do \
	  test -z "$$files" || { \
	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
	done; }

uninstall-man1:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_man1_MANS)'; test -n "$(man1dir)" || exit 0; \
	files=`{ for i in $$list; do echo "$$i"; done; \
	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
	dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
install-dist_docDATA: $(dist_doc_DATA)
	@$(NORMAL_INSTALL)
	test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)"
	@list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
	  $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
	done

uninstall-dist_docDATA:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
install-googleincludeHEADERS: $(googleinclude_HEADERS)
	@$(NORMAL_INSTALL)
	test -z "$(googleincludedir)" || $(MKDIR_P) "$(DESTDIR)$(googleincludedir)"
	@list='$(googleinclude_HEADERS)'; test -n "$(googleincludedir)" || list=; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(googleincludedir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(googleincludedir)" || exit $$?; \
	done

uninstall-googleincludeHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(googleinclude_HEADERS)'; test -n "$(googleincludedir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(googleincludedir)'; $(am__uninstall_files_from_dir)

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; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	mkid -fID $$unique
tags: TAGS

TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	set x; \
	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; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	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
CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	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; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	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"

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

check-TESTS: $(TESTS)
	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
	srcdir=$(srcdir); export srcdir; \
	list=' $(TESTS) '; \
	$(am__tty_colors); \
	if test -n "$$list"; then \
	  for tst in $$list; do \
	    if test -f ./$$tst; then dir=./; \
	    elif test -f $$tst; then dir=; \
	    else dir="$(srcdir)/"; fi; \
	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
	      all=`expr $$all + 1`; \
	      case " $(XFAIL_TESTS) " in \
	      *[\ \	]$$tst[\ \	]*) \
		xpass=`expr $$xpass + 1`; \
		failed=`expr $$failed + 1`; \
		col=$$red; res=XPASS; \
	      ;; \
	      *) \
		col=$$grn; res=PASS; \
	      ;; \
	      esac; \
	    elif test $$? -ne 77; then \
	      all=`expr $$all + 1`; \
	      case " $(XFAIL_TESTS) " in \
	      *[\ \	]$$tst[\ \	]*) \
		xfail=`expr $$xfail + 1`; \
		col=$$lgn; res=XFAIL; \
	      ;; \
	      *) \
		failed=`expr $$failed + 1`; \
		col=$$red; res=FAIL; \
	      ;; \
	      esac; \
	    else \
	      skip=`expr $$skip + 1`; \
	      col=$$blu; res=SKIP; \
	    fi; \
	    echo "$${col}$$res$${std}: $$tst"; \
	  done; \
	  if test "$$all" -eq 1; then \
	    tests="test"; \
	    All=""; \
	  else \
	    tests="tests"; \
	    All="All "; \
	  fi; \
	  if test "$$failed" -eq 0; then \
	    if test "$$xfail" -eq 0; then \
	      banner="$$All$$all $$tests passed"; \
	    else \
	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
	    fi; \
	  else \
	    if test "$$xpass" -eq 0; then \
	      banner="$$failed of $$all $$tests failed"; \
	    else \
	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
	    fi; \
	  fi; \
	  dashes="$$banner"; \
	  skipped=""; \
	  if test "$$skip" -ne 0; then \
	    if test "$$skip" -eq 1; then \
	      skipped="($$skip test was not run)"; \
	    else \
	      skipped="($$skip tests were not run)"; \
	    fi; \
	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
	      dashes="$$skipped"; \
	  fi; \
	  report=""; \
	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
	    report="Please report to $(PACKAGE_BUGREPORT)"; \
	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
	      dashes="$$report"; \
	  fi; \
	  dashes=`echo "$$dashes" | sed s/./=/g`; \
	  if test "$$failed" -eq 0; then \
	    col="$$grn"; \
	  else \
	    col="$$red"; \
	  fi; \
	  echo "$${col}$$dashes$${std}"; \
	  echo "$${col}$$banner$${std}"; \
	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
	  test -z "$$report" || echo "$${col}$$report$${std}"; \
	  echo "$${col}$$dashes$${std}"; \
	  test "$$failed" -eq 0; \
	else :; fi

distdir: $(DISTFILES)
	@list='$(MANS)'; if test -n "$$list"; then \
	  list=`for p in $$list; do \
	    if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
	    if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
	  if test -n "$$list" && \
	    grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
	    echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
	    grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
	    echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
	    echo "       typically \`make maintainer-clean' will remove them" >&2; \
	    exit 1; \
	  else :; fi; \
	else :; fi
	$(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
	-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__remove_distdir)

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

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

dist-lzma: distdir
	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
	$(am__remove_distdir)

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

dist-tarZ: distdir
	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
	$(am__remove_distdir)

dist-shar: distdir
	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
	$(am__remove_distdir)

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

dist dist-all: distdir
	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
	$(am__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.lzma*) \
	  lzma -dc $(distdir).tar.lzma | $(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 a+w $(distdir)
	mkdir $(distdir)/_build
	mkdir $(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__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
	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS)
	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) \
		$(HEADERS)
install-binPROGRAMS: install-libLTLIBRARIES

installdirs:
	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(googleincludedir)"; 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:
	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)

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-checkPROGRAMS clean-generic \
	clean-libLTLIBRARIES clean-libtool clean-noinstLTLIBRARIES \
	clean-noinstPROGRAMS mostlyclean-am

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

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am: install-dist_docDATA install-googleincludeHEADERS \
	install-man

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am: install-binPROGRAMS install-libLTLIBRARIES

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man: install-man1

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
	-rm -rf $(top_srcdir)/autom4te.cache
	-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-dist_docDATA \
	uninstall-googleincludeHEADERS uninstall-libLTLIBRARIES \
	uninstall-man

uninstall-man: uninstall-man1

.MAKE: check-am install-am install-strip

.PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \
	clean clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
	clean-libLTLIBRARIES clean-libtool clean-noinstLTLIBRARIES \
	clean-noinstPROGRAMS ctags dist dist-all dist-bzip2 dist-gzip \
	dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
	distcheck distclean distclean-compile distclean-generic \
	distclean-hdr distclean-libtool distclean-tags distcleancheck \
	distdir distuninstallcheck dvi dvi-am html html-am info \
	info-am install install-am install-binPROGRAMS install-data \
	install-data-am install-dist_docDATA install-dvi \
	install-dvi-am install-exec install-exec-am \
	install-googleincludeHEADERS install-html install-html-am \
	install-info install-info-am install-libLTLIBRARIES \
	install-man install-man1 install-pdf install-pdf-am install-ps \
	install-ps-am 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-dist_docDATA \
	uninstall-googleincludeHEADERS uninstall-libLTLIBRARIES \
	uninstall-man uninstall-man1


rpm: dist-gzip packages/rpm.sh packages/rpm/rpm.spec
	@cd packages && ./rpm.sh ${PACKAGE} ${VERSION}

deb: dist-gzip packages/deb.sh packages/deb/*
	@cd packages && ./deb.sh ${PACKAGE} ${VERSION}

libtool: $(LIBTOOL_DEPS)
	$(SHELL) ./config.status --recheck

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