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

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009  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__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 = \
  { test ! -d "$(distdir)" \
    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
         && rm -fr "$(distdir)"; }; }
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
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@
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@
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_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@
lt_ECHO = @lt_ECHO@
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 $(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/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:
	@:
$(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; \
	  $(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) 
	$(CXXLINK)  $(libgflags_la_OBJECTS) $(libgflags_la_LIBADD) $(LIBS)
libgtest_main.la: $(libgtest_main_la_OBJECTS) $(libgtest_main_la_DEPENDENCIES) 
	$(CXXLINK)  $(libgtest_main_la_OBJECTS) $(libgtest_main_la_LIBADD) $(LIBS)
libvcdcom.la: $(libvcdcom_la_OBJECTS) $(libvcdcom_la_DEPENDENCIES) 
	$(CXXLINK) -rpath $(libdir) $(libvcdcom_la_OBJECTS) $(libvcdcom_la_LIBADD) $(LIBS)
libvcddec.la: $(libvcddec_la_OBJECTS) $(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) 
	$(CXXLINK)  $(libvcdecoder_test_common_la_OBJECTS) $(libvcdecoder_test_common_la_LIBADD) $(LIBS)
libvcdenc.la: $(libvcdenc_la_OBJECTS) $(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) 
	@rm -f addrcache_test$(EXEEXT)
	$(CXXLINK) $(addrcache_test_OBJECTS) $(addrcache_test_LDADD) $(LIBS)
blockhash_test$(EXEEXT): $(blockhash_test_OBJECTS) $(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) 
	@rm -f codetable_test$(EXEEXT)
	$(CXXLINK) $(codetable_test_OBJECTS) $(codetable_test_LDADD) $(LIBS)
decodetable_test$(EXEEXT): $(decodetable_test_OBJECTS) $(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) 
	@rm -f encodetable_test$(EXEEXT)
	$(CXXLINK) $(encodetable_test_OBJECTS) $(encodetable_test_LDADD) $(LIBS)
headerparser_test$(EXEEXT): $(headerparser_test_OBJECTS) $(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) 
	@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) 
	@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) 
	@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) 
	@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) 
	@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) 
	@rm -f vcdecoder1_test$(EXEEXT)
	$(CXXLINK) $(vcdecoder1_test_OBJECTS) $(vcdecoder1_test_LDADD) $(LIBS)
vcdecoder2_test$(EXEEXT): $(vcdecoder2_test_OBJECTS) $(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) 
	@rm -f vcdecoder3_test$(EXEEXT)
	$(CXXLINK) $(vcdecoder3_test_OBJECTS) $(vcdecoder3_test_LDADD) $(LIBS)
vcdecoder4_test$(EXEEXT): $(vcdecoder4_test_OBJECTS) $(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) 
	@rm -f vcdecoder5_test$(EXEEXT)
	$(CXXLINK) $(vcdecoder5_test_OBJECTS) $(vcdecoder5_test_LDADD) $(LIBS)
vcdiff$(EXEEXT): $(vcdiff_OBJECTS) $(vcdiff_DEPENDENCIES) 
	@rm -f vcdiff$(EXEEXT)
	$(CXXLINK) $(vcdiff_OBJECTS) $(vcdiff_LDADD) $(LIBS)
vcdiffengine_test$(EXEEXT): $(vcdiffengine_test_OBJECTS) $(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) 
	@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,.,'`; \
	test -z "$$files" || { \
	  echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
	  cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
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|^.*/||'`; \
	test -n "$$files" || exit 0; \
	echo " ( cd '$(DESTDIR)$(docdir)' && rm -f" $$files ")"; \
	cd "$(DESTDIR)$(docdir)" && rm -f $$files
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|^.*/||'`; \
	test -n "$$files" || exit 0; \
	echo " ( cd '$(DESTDIR)$(googleincludedir)' && rm -f" $$files ")"; \
	cd "$(DESTDIR)$(googleincludedir)" && rm -f $$files

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 \
	    echo "$$grn$$dashes"; \
	  else \
	    echo "$$red$$dashes"; \
	  fi; \
	  echo "$$banner"; \
	  test -z "$$skipped" || echo "$$skipped"; \
	  test -z "$$report" || echo "$$report"; \
	  echo "$$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 -9 -c >$(distdir).tar.bz2
	$(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 -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.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" \
	    $(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:
	@$(am__cd) '$(distuninstallcheck_dir)' \
	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
	   || { 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:
	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	  `test -z '$(STRIP)' || \
	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:

clean-generic:

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
	-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-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:
