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

# Copyright (C) 1994-2013 Free Software Foundation, Inc.

# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

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

@SET_MAKE@




VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
  case $${target_option-} in \
      ?) ;; \
      *) echo "am__make_running_with_option: internal error: invalid" \
              "target option '$${target_option-}' specified" >&2; \
         exit 1;; \
  esac; \
  has_opt=no; \
  sane_makeflags=$$MAKEFLAGS; \
  if $(am__is_gnu_make); then \
    sane_makeflags=$$MFLAGS; \
  else \
    case $$MAKEFLAGS in \
      *\\[\ \	]*) \
        bs=\\; \
        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
    esac; \
  fi; \
  skip_next=no; \
  strip_trailopt () \
  { \
    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
  }; \
  for flg in $$sane_makeflags; do \
    test $$skip_next = yes && { skip_next=no; continue; }; \
    case $$flg in \
      *=*|--*) continue;; \
        -*I) strip_trailopt 'I'; skip_next=yes;; \
      -*I?*) strip_trailopt 'I';; \
        -*O) strip_trailopt 'O'; skip_next=yes;; \
      -*O?*) strip_trailopt 'O';; \
        -*l) strip_trailopt 'l'; skip_next=yes;; \
      -*l?*) strip_trailopt 'l';; \
      -[dEDm]) skip_next=yes;; \
      -[JT]) skip_next=yes;; \
    esac; \
    case $$flg in \
      *$$target_option*) has_opt=yes; break;; \
    esac; \
  done; \
  test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
TESTS = test_bihash_template$(EXEEXT) test_elog$(EXEEXT) \
	test_elf$(EXEEXT) test_fifo$(EXEEXT) test_format$(EXEEXT) \
	test_hash$(EXEEXT) test_heap$(EXEEXT) test_longjmp$(EXEEXT) \
	test_macros$(EXEEXT) test_md5$(EXEEXT) test_mheap$(EXEEXT) \
	test_pfhash$(EXEEXT) test_phash$(EXEEXT) \
	test_pool_iterate$(EXEEXT) test_qhash$(EXEEXT) \
	test_random$(EXEEXT) test_random_isaac$(EXEEXT) \
	test_serialize$(EXEEXT) test_slist$(EXEEXT) \
	test_socket$(EXEEXT) test_time$(EXEEXT) \
	test_timing_wheel$(EXEEXT) test_vec$(EXEEXT) \
	test_zvec$(EXEEXT)
noinst_PROGRAMS = $(am__EXEEXT_1)
check_PROGRAMS = $(am__EXEEXT_1)
subdir = .
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
	$(top_srcdir)/configure $(am__configure_deps) \
	$(top_srcdir)/config/config.h.in $(top_srcdir)/config/depcomp \
	$(nobase_include_HEADERS) $(top_srcdir)/config/test-driver \
	INSTALL README compile config/compile config/config.guess \
	config/config.sub config/depcomp config/install-sh \
	config/missing mkinstalldirs ltmain.sh config/ltmain.sh \
	$(top_srcdir)/config/compile $(top_srcdir)/config/config.guess \
	$(top_srcdir)/config/config.sub \
	$(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \
	$(top_srcdir)/config/missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
 configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
    *) f=$$p;; \
  esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
  for p in $$list; do echo "$$p $$p"; done | \
  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
    if (++n[$$2] == $(am__install_max)) \
      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
    END { for (dir in files) print dir, files[dir] }'
am__base_list = \
  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
  test -z "$$files" \
    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
         $(am__cd) "$$dir" && rm -f $$files; }; \
  }
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libdir)" \
	"$(DESTDIR)$(includedir)"
LIBRARIES = $(lib_LIBRARIES)
LTLIBRARIES = $(lib_LTLIBRARIES)
libvppinfra_la_LIBADD =
am__dirstamp = $(am__leading_dot)dirstamp
am__objects_1 = vppinfra/asm_x86.lo vppinfra/backtrace.lo \
	vppinfra/elf.lo vppinfra/elog.lo vppinfra/error.lo \
	vppinfra/fifo.lo vppinfra/fheap.lo vppinfra/format.lo \
	vppinfra/graph.lo vppinfra/hash.lo vppinfra/heap.lo \
	vppinfra/longjmp.lo vppinfra/macros.lo vppinfra/mhash.lo \
	vppinfra/mheap.lo vppinfra/md5.lo vppinfra/mem_mheap.lo \
	vppinfra/pfhash.lo vppinfra/phash.lo vppinfra/qhash.lo \
	vppinfra/random.lo vppinfra/random_buffer.lo \
	vppinfra/random_isaac.lo vppinfra/serialize.lo \
	vppinfra/slist.lo vppinfra/smp.lo vppinfra/smp_fifo.lo \
	vppinfra/std-formats.lo vppinfra/string.lo vppinfra/time.lo \
	vppinfra/timing_wheel.lo vppinfra/unformat.lo vppinfra/vec.lo \
	vppinfra/vector.lo vppinfra/zvec.lo
am_libvppinfra_la_OBJECTS = $(am__objects_1) vppinfra/elf_clib.lo \
	vppinfra/socket.lo vppinfra/timer.lo vppinfra/unix-formats.lo \
	vppinfra/unix-misc.lo
libvppinfra_la_OBJECTS = $(am_libvppinfra_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 = 
@WITH_UNIX_TRUE@am_libvppinfra_la_rpath = -rpath $(libdir)
am__EXEEXT_1 = test_bihash_template$(EXEEXT) test_elog$(EXEEXT) \
	test_elf$(EXEEXT) test_fifo$(EXEEXT) test_format$(EXEEXT) \
	test_hash$(EXEEXT) test_heap$(EXEEXT) test_longjmp$(EXEEXT) \
	test_macros$(EXEEXT) test_md5$(EXEEXT) test_mheap$(EXEEXT) \
	test_pfhash$(EXEEXT) test_phash$(EXEEXT) \
	test_pool_iterate$(EXEEXT) test_qhash$(EXEEXT) \
	test_random$(EXEEXT) test_random_isaac$(EXEEXT) \
	test_serialize$(EXEEXT) test_slist$(EXEEXT) \
	test_socket$(EXEEXT) test_time$(EXEEXT) \
	test_timing_wheel$(EXEEXT) test_vec$(EXEEXT) \
	test_zvec$(EXEEXT)
PROGRAMS = $(noinst_PROGRAMS)
am_test_bihash_template_OBJECTS =  \
	vppinfra/test_bihash_template-test_bihash_template.$(OBJEXT)
test_bihash_template_OBJECTS = $(am_test_bihash_template_OBJECTS)
test_bihash_template_DEPENDENCIES = libvppinfra.la
test_bihash_template_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(test_bihash_template_LDFLAGS) \
	$(LDFLAGS) -o $@
am_test_elf_OBJECTS = vppinfra/test_elf-test_elf.$(OBJEXT)
test_elf_OBJECTS = $(am_test_elf_OBJECTS)
test_elf_DEPENDENCIES = libvppinfra.la
test_elf_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_elf_LDFLAGS) $(LDFLAGS) -o $@
am_test_elog_OBJECTS = vppinfra/test_elog-test_elog.$(OBJEXT)
test_elog_OBJECTS = $(am_test_elog_OBJECTS)
test_elog_DEPENDENCIES = libvppinfra.la
test_elog_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_elog_LDFLAGS) $(LDFLAGS) -o $@
am_test_fifo_OBJECTS = vppinfra/test_fifo-test_fifo.$(OBJEXT)
test_fifo_OBJECTS = $(am_test_fifo_OBJECTS)
test_fifo_DEPENDENCIES = libvppinfra.la
test_fifo_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_fifo_LDFLAGS) $(LDFLAGS) -o $@
am_test_format_OBJECTS = vppinfra/test_format-test_format.$(OBJEXT)
test_format_OBJECTS = $(am_test_format_OBJECTS)
test_format_DEPENDENCIES = libvppinfra.la
test_format_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_format_LDFLAGS) $(LDFLAGS) -o $@
am_test_hash_OBJECTS = vppinfra/test_hash-test_hash.$(OBJEXT)
test_hash_OBJECTS = $(am_test_hash_OBJECTS)
test_hash_DEPENDENCIES = libvppinfra.la
test_hash_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_hash_LDFLAGS) $(LDFLAGS) -o $@
am_test_heap_OBJECTS = vppinfra/test_heap-test_heap.$(OBJEXT)
test_heap_OBJECTS = $(am_test_heap_OBJECTS)
test_heap_DEPENDENCIES = libvppinfra.la
test_heap_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_heap_LDFLAGS) $(LDFLAGS) -o $@
am_test_longjmp_OBJECTS =  \
	vppinfra/test_longjmp-test_longjmp.$(OBJEXT)
test_longjmp_OBJECTS = $(am_test_longjmp_OBJECTS)
test_longjmp_DEPENDENCIES = libvppinfra.la
test_longjmp_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_longjmp_LDFLAGS) $(LDFLAGS) -o $@
am_test_macros_OBJECTS = vppinfra/test_macros-test_macros.$(OBJEXT)
test_macros_OBJECTS = $(am_test_macros_OBJECTS)
test_macros_DEPENDENCIES = libvppinfra.la
test_macros_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_macros_LDFLAGS) $(LDFLAGS) -o $@
am_test_md5_OBJECTS = vppinfra/test_md5-test_md5.$(OBJEXT)
test_md5_OBJECTS = $(am_test_md5_OBJECTS)
test_md5_DEPENDENCIES = libvppinfra.la
test_md5_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_md5_LDFLAGS) $(LDFLAGS) -o $@
am_test_mheap_OBJECTS = vppinfra/test_mheap-test_mheap.$(OBJEXT)
test_mheap_OBJECTS = $(am_test_mheap_OBJECTS)
test_mheap_DEPENDENCIES = libvppinfra.la
test_mheap_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_mheap_LDFLAGS) $(LDFLAGS) -o $@
am_test_pfhash_OBJECTS = vppinfra/test_pfhash-test_pfhash.$(OBJEXT)
test_pfhash_OBJECTS = $(am_test_pfhash_OBJECTS)
test_pfhash_DEPENDENCIES = libvppinfra.la
test_pfhash_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_pfhash_LDFLAGS) $(LDFLAGS) -o $@
am_test_phash_OBJECTS = vppinfra/test_phash-test_phash.$(OBJEXT)
test_phash_OBJECTS = $(am_test_phash_OBJECTS)
test_phash_DEPENDENCIES = libvppinfra.la
test_phash_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_phash_LDFLAGS) $(LDFLAGS) -o $@
am_test_pool_iterate_OBJECTS =  \
	vppinfra/test_pool_iterate-test_pool_iterate.$(OBJEXT)
test_pool_iterate_OBJECTS = $(am_test_pool_iterate_OBJECTS)
test_pool_iterate_DEPENDENCIES = libvppinfra.la
test_pool_iterate_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(test_pool_iterate_LDFLAGS) $(LDFLAGS) \
	-o $@
am_test_qhash_OBJECTS = vppinfra/test_qhash-test_qhash.$(OBJEXT)
test_qhash_OBJECTS = $(am_test_qhash_OBJECTS)
test_qhash_DEPENDENCIES = libvppinfra.la
test_qhash_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_qhash_LDFLAGS) $(LDFLAGS) -o $@
am_test_random_OBJECTS = vppinfra/test_random-test_random.$(OBJEXT)
test_random_OBJECTS = $(am_test_random_OBJECTS)
test_random_DEPENDENCIES = libvppinfra.la
test_random_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_random_LDFLAGS) $(LDFLAGS) -o $@
am_test_random_isaac_OBJECTS =  \
	vppinfra/test_random_isaac-test_random_isaac.$(OBJEXT)
test_random_isaac_OBJECTS = $(am_test_random_isaac_OBJECTS)
test_random_isaac_DEPENDENCIES = libvppinfra.la
test_random_isaac_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(test_random_isaac_LDFLAGS) $(LDFLAGS) \
	-o $@
am_test_serialize_OBJECTS =  \
	vppinfra/test_serialize-test_serialize.$(OBJEXT)
test_serialize_OBJECTS = $(am_test_serialize_OBJECTS)
test_serialize_DEPENDENCIES = libvppinfra.la
test_serialize_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(test_serialize_LDFLAGS) $(LDFLAGS) -o \
	$@
am_test_slist_OBJECTS = vppinfra/test_slist-test_slist.$(OBJEXT)
test_slist_OBJECTS = $(am_test_slist_OBJECTS)
test_slist_DEPENDENCIES = libvppinfra.la
test_slist_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_slist_LDFLAGS) $(LDFLAGS) -o $@
am_test_socket_OBJECTS = vppinfra/test_socket-test_socket.$(OBJEXT)
test_socket_OBJECTS = $(am_test_socket_OBJECTS)
test_socket_DEPENDENCIES = libvppinfra.la
test_socket_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_socket_LDFLAGS) $(LDFLAGS) -o $@
am_test_time_OBJECTS = vppinfra/test_time-test_time.$(OBJEXT)
test_time_OBJECTS = $(am_test_time_OBJECTS)
test_time_DEPENDENCIES = libvppinfra.la
test_time_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_time_LDFLAGS) $(LDFLAGS) -o $@
am_test_timing_wheel_OBJECTS =  \
	vppinfra/test_timing_wheel-test_timing_wheel.$(OBJEXT)
test_timing_wheel_OBJECTS = $(am_test_timing_wheel_OBJECTS)
test_timing_wheel_DEPENDENCIES = libvppinfra.la
test_timing_wheel_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(test_timing_wheel_LDFLAGS) $(LDFLAGS) \
	-o $@
am_test_vec_OBJECTS = vppinfra/test_vec-test_vec.$(OBJEXT)
test_vec_OBJECTS = $(am_test_vec_OBJECTS)
test_vec_DEPENDENCIES = libvppinfra.la
test_vec_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_vec_LDFLAGS) $(LDFLAGS) -o $@
am_test_zvec_OBJECTS = vppinfra/test_zvec-test_zvec.$(OBJEXT)
test_zvec_OBJECTS = $(am_test_zvec_OBJECTS)
test_zvec_DEPENDENCIES = libvppinfra.la
test_zvec_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_zvec_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo "  GEN     " $@;
am__v_GEN_1 = 
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 = 
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CCASFLAGS) $(CCASFLAGS)
AM_V_CPPAS = $(am__v_CPPAS_@AM_V@)
am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@)
am__v_CPPAS_0 = @echo "  CPPAS   " $@;
am__v_CPPAS_1 = 
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo "  CC      " $@;
am__v_CC_1 = 
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo "  CCLD    " $@;
am__v_CCLD_1 = 
SOURCES = $(libvppinfra_la_SOURCES) $(test_bihash_template_SOURCES) \
	$(test_elf_SOURCES) $(test_elog_SOURCES) $(test_fifo_SOURCES) \
	$(test_format_SOURCES) $(test_hash_SOURCES) \
	$(test_heap_SOURCES) $(test_longjmp_SOURCES) \
	$(test_macros_SOURCES) $(test_md5_SOURCES) \
	$(test_mheap_SOURCES) $(test_pfhash_SOURCES) \
	$(test_phash_SOURCES) $(test_pool_iterate_SOURCES) \
	$(test_qhash_SOURCES) $(test_random_SOURCES) \
	$(test_random_isaac_SOURCES) $(test_serialize_SOURCES) \
	$(test_slist_SOURCES) $(test_socket_SOURCES) \
	$(test_time_SOURCES) $(test_timing_wheel_SOURCES) \
	$(test_vec_SOURCES) $(test_zvec_SOURCES)
DIST_SOURCES = $(libvppinfra_la_SOURCES) \
	$(test_bihash_template_SOURCES) $(test_elf_SOURCES) \
	$(test_elog_SOURCES) $(test_fifo_SOURCES) \
	$(test_format_SOURCES) $(test_hash_SOURCES) \
	$(test_heap_SOURCES) $(test_longjmp_SOURCES) \
	$(test_macros_SOURCES) $(test_md5_SOURCES) \
	$(test_mheap_SOURCES) $(test_pfhash_SOURCES) \
	$(test_phash_SOURCES) $(test_pool_iterate_SOURCES) \
	$(test_qhash_SOURCES) $(test_random_SOURCES) \
	$(test_random_isaac_SOURCES) $(test_serialize_SOURCES) \
	$(test_slist_SOURCES) $(test_socket_SOURCES) \
	$(test_time_SOURCES) $(test_timing_wheel_SOURCES) \
	$(test_vec_SOURCES) $(test_zvec_SOURCES)
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
HEADERS = $(nobase_include_HEADERS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates.  Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
  BEGIN { nonempty = 0; } \
  { items[$$0] = 1; nonempty = 1; } \
  END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique.  This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
  list='$(am__tagged_files)'; \
  unique=`for i in $$list; do \
    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
AM_RECURSIVE_TARGETS = cscope check recheck
am__tty_colors_dummy = \
  mgn= red= grn= lgn= blu= brg= std=; \
  am__color_tests=no
am__tty_colors = { \
  $(am__tty_colors_dummy); \
  if test "X$(AM_COLOR_TESTS)" = Xno; then \
    am__color_tests=no; \
  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
    am__color_tests=yes; \
  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
    am__color_tests=yes; \
  fi; \
  if test $$am__color_tests = yes; then \
    red='[0;31m'; \
    grn='[0;32m'; \
    lgn='[1;32m'; \
    blu='[1;34m'; \
    mgn='[0;35m'; \
    brg='[1m'; \
    std='[m'; \
  fi; \
}
am__recheck_rx = ^[ 	]*:recheck:[ 	]*
am__global_test_result_rx = ^[ 	]*:global-test-result:[ 	]*
am__copy_in_global_log_rx = ^[ 	]*:copy-in-global-log:[ 	]*
# A command that, given a newline-separated list of test names on the
# standard input, print the name of the tests that are to be re-run
# upon "make recheck".
am__list_recheck_tests = $(AWK) '{ \
  recheck = 1; \
  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
    { \
      if (rc < 0) \
        { \
          if ((getline line2 < ($$0 ".log")) < 0) \
	    recheck = 0; \
          break; \
        } \
      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
        { \
          recheck = 0; \
          break; \
        } \
      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
        { \
          break; \
        } \
    }; \
  if (recheck) \
    print $$0; \
  close ($$0 ".trs"); \
  close ($$0 ".log"); \
}'
# A command that, given a newline-separated list of test names on the
# standard input, create the global log from their .trs and .log files.
am__create_global_log = $(AWK) ' \
function fatal(msg) \
{ \
  print "fatal: making $@: " msg | "cat >&2"; \
  exit 1; \
} \
function rst_section(header) \
{ \
  print header; \
  len = length(header); \
  for (i = 1; i <= len; i = i + 1) \
    printf "="; \
  printf "\n\n"; \
} \
{ \
  copy_in_global_log = 1; \
  global_test_result = "RUN"; \
  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
    { \
      if (rc < 0) \
         fatal("failed to read from " $$0 ".trs"); \
      if (line ~ /$(am__global_test_result_rx)/) \
        { \
          sub("$(am__global_test_result_rx)", "", line); \
          sub("[ 	]*$$", "", line); \
          global_test_result = line; \
        } \
      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
        copy_in_global_log = 0; \
    }; \
  if (copy_in_global_log) \
    { \
      rst_section(global_test_result ": " $$0); \
      while ((rc = (getline line < ($$0 ".log"))) != 0) \
      { \
        if (rc < 0) \
          fatal("failed to read from " $$0 ".log"); \
        print line; \
      }; \
      printf "\n"; \
    }; \
  close ($$0 ".trs"); \
  close ($$0 ".log"); \
}'
# Restructured Text title.
am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
# Solaris 10 'make', and several other traditional 'make' implementations,
# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
# by disabling -e (using the XSI extension "set +e") if it's set.
am__sh_e_setup = case $$- in *e*) set +e;; esac
# Default flags passed to test drivers.
am__common_driver_flags = \
  --color-tests "$$am__color_tests" \
  --enable-hard-errors "$$am__enable_hard_errors" \
  --expect-failure "$$am__expect_failure"
# To be inserted before the command running the test.  Creates the
# directory for the log if needed.  Stores in $dir the directory
# containing $f, in $tst the test, in $log the log.  Executes the
# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
# will run the test scripts (or their associated LOG_COMPILER, if
# thy have one).
am__check_pre = \
$(am__sh_e_setup);					\
$(am__vpath_adj_setup) $(am__vpath_adj)			\
$(am__tty_colors);					\
srcdir=$(srcdir); export srcdir;			\
case "$@" in						\
  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;	\
    *) am__odir=.;; 					\
esac;							\
test "x$$am__odir" = x"." || test -d "$$am__odir" 	\
  || $(MKDIR_P) "$$am__odir" || exit $$?;		\
if test -f "./$$f"; then dir=./;			\
elif test -f "$$f"; then dir=;				\
else dir="$(srcdir)/"; fi;				\
tst=$$dir$$f; log='$@'; 				\
if test -n '$(DISABLE_HARD_ERRORS)'; then		\
  am__enable_hard_errors=no; 				\
else							\
  am__enable_hard_errors=yes; 				\
fi; 							\
case " $(XFAIL_TESTS) " in				\
  *[\ \	]$$f[\ \	]* | *[\ \	]$$dir$$f[\ \	]*) \
    am__expect_failure=yes;;				\
  *)							\
    am__expect_failure=no;;				\
esac; 							\
$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
# A shell command to get the names of the tests scripts with any registered
# extension removed (i.e., equivalently, the names of the test logs, with
# the '.log' extension removed).  The result is saved in the shell variable
# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
# since that might cause problem with VPATH rewrites for suffix-less tests.
# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
am__set_TESTS_bases = \
  bases='$(TEST_LOGS)'; \
  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
  bases=`echo $$bases`
RECHECK_LOGS = $(TEST_LOGS)
TEST_SUITE_LOG = test-suite.log
TEST_EXTENSIONS = @EXEEXT@ .test
LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver
LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
am__set_b = \
  case '$@' in \
    */*) \
      case '$*' in \
        */*) b='$*';; \
          *) b=`echo '$@' | sed 's/\.log$$//'`; \
       esac;; \
    *) \
      b='$*';; \
  esac
am__test_logs1 = $(TESTS:=.log)
am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
TEST_LOGS = $(am__test_logs2:.test.log=.log)
TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
	$(TEST_LOG_FLAGS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
  if test -d "$(distdir)"; then \
    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
      && rm -rf "$(distdir)" \
      || { sleep 5 && rm -rf "$(distdir)"; }; \
  else :; fi
am__post_remove_distdir = $(am__remove_distdir)
GZIP_ENV = --best
DIST_ARCHIVES = $(distdir).tar.bz2
DIST_TARGETS = dist-bzip2
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VEC64 = @VEC64@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@

# Copyright (c) 2015 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
AUTOMAKE_OPTIONS = foreign subdir-objects
AM_CPPFLAGS = -Wall @VEC64@ # -Werror
@WITH_UNIX_TRUE@lib_LTLIBRARIES = libvppinfra.la
lib_LIBRARIES = 
test_bihash_template_SOURCES = vppinfra/test_bihash_template.c
test_elog_SOURCES = vppinfra/test_elog.c
test_elf_SOURCES = vppinfra/test_elf.c
test_fifo_SOURCES = vppinfra/test_fifo.c
test_format_SOURCES = vppinfra/test_format.c
test_hash_SOURCES = vppinfra/test_hash.c
test_heap_SOURCES = vppinfra/test_heap.c
test_longjmp_SOURCES = vppinfra/test_longjmp.c
test_macros_SOURCES = vppinfra/test_macros.c
test_md5_SOURCES = vppinfra/test_md5.c
test_mheap_SOURCES = vppinfra/test_mheap.c
test_pfhash_SOURCES = vppinfra/test_pfhash.c
test_phash_SOURCES = vppinfra/test_phash.c
test_pool_iterate_SOURCES = vppinfra/test_pool_iterate.c
test_qhash_SOURCES = vppinfra/test_qhash.c
test_random_SOURCES = vppinfra/test_random.c
test_random_isaac_SOURCES = vppinfra/test_random_isaac.c
test_serialize_SOURCES = vppinfra/test_serialize.c
test_slist_SOURCES = vppinfra/test_slist.c
test_socket_SOURCES = vppinfra/test_socket.c
test_time_SOURCES = vppinfra/test_time.c
test_timing_wheel_SOURCES = vppinfra/test_timing_wheel.c
test_vec_SOURCES = vppinfra/test_vec.c
test_zvec_SOURCES = vppinfra/test_zvec.c

# All unit tests use ASSERT for failure
# So we'll need -DDEBUG to enable ASSERTs
test_bihash_template_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_elog_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_elf_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_fifo_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_format_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_hash_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_heap_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_longjmp_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_macros_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_md5_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_mheap_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_pfhash_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_phash_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_pool_iterate_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_qhash_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_random_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_random_isaac_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_socket_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_serialize_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_slist_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_time_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_timing_wheel_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_vec_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_zvec_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
test_bihash_template_LDADD = libvppinfra.la
test_elog_LDADD = libvppinfra.la
test_elf_LDADD = libvppinfra.la
test_fifo_LDADD = libvppinfra.la
test_format_LDADD = libvppinfra.la
test_hash_LDADD = libvppinfra.la
test_heap_LDADD = libvppinfra.la
test_longjmp_LDADD = libvppinfra.la
test_macros_LDADD = libvppinfra.la
test_md5_LDADD = libvppinfra.la
test_mheap_LDADD = libvppinfra.la
test_pfhash_LDADD = libvppinfra.la
test_phash_LDADD = libvppinfra.la
test_pool_iterate_LDADD = libvppinfra.la
test_qhash_LDADD = libvppinfra.la
test_random_LDADD = libvppinfra.la
test_random_isaac_LDADD = libvppinfra.la
test_serialize_LDADD = libvppinfra.la
test_slist_LDADD = libvppinfra.la
test_socket_LDADD = libvppinfra.la
test_time_LDADD = libvppinfra.la -lm
test_timing_wheel_LDADD = libvppinfra.la -lm
test_vec_LDADD = libvppinfra.la
test_zvec_LDADD = libvppinfra.la
test_bihash_template_LDFLAGS = -static
test_elog_LDFLAGS = -static
test_elf_LDFLAGS = -static
test_fifo_LDFLAGS = -static
test_format_LDFLAGS = -static
test_hash_LDFLAGS = -static
test_heap_LDFLAGS = -static
test_longjmp_LDFLAGS = -static
test_macros_LDFLAGS = -static
test_md5_LDFLAGS = -static
test_mheap_LDFLAGS = -static
test_pfhash_LDFLAGS = -static
test_phash_LDFLAGS = -static
test_pool_iterate_LDFLAGS = -static
test_qhash_LDFLAGS = -static
test_random_LDFLAGS = -static
test_random_isaac_LDFLAGS = -static
test_serialize_LDFLAGS = -static
test_slist_LDFLAGS = -static
test_socket_LDFLAGS = -static
test_time_LDFLAGS = -static
test_timing_wheel_LDFLAGS = -static
test_vec_LDFLAGS = -static
test_zvec_LDFLAGS = -static

# noinst_PROGRAMS += test_vhash
# test_vhash_SOURCES = vppinfra/test_vhash.c vppinfra/vhash.c
# test_vhash_CPPFLAGS = $(AM_CPPFLAGS) -DCLIB_DEBUG
# test_vhash_LDADD = libvppinfra.la
# test_vhash_LDFLAGS = -static
nobase_include_HEADERS = \
  vppinfra/asm_mips.h \
  vppinfra/asm_x86.h \
  vppinfra/bihash_8_8.h \
  vppinfra/bihash_24_8.h \
  vppinfra/bihash_template.h \
  vppinfra/bihash_template.c \
  vppinfra/bitmap.h \
  vppinfra/bitops.h \
  vppinfra/byte_order.h \
  vppinfra/cache.h \
  vppinfra/clib.h \
  vppinfra/elf.h \
  vppinfra/elf_clib.h \
  vppinfra/elog.h \
  vppinfra/fheap.h \
  vppinfra/error.h \
  vppinfra/error_bootstrap.h \
  vppinfra/fifo.h \
  vppinfra/format.h \
  vppinfra/graph.h \
  vppinfra/hash.h \
  vppinfra/heap.h \
  vppinfra/longjmp.h \
  vppinfra/macros.h \
  vppinfra/math.h \
  vppinfra/md5.h \
  vppinfra/mem.h \
  vppinfra/mhash.h \
  vppinfra/mheap.h \
  vppinfra/mheap_bootstrap.h \
  vppinfra/os.h \
  vppinfra/pfhash.h \
  vppinfra/phash.h \
  vppinfra/pipeline.h \
  vppinfra/pool.h \
  vppinfra/qhash.h \
  vppinfra/random.h \
  vppinfra/random_buffer.h \
  vppinfra/random_isaac.h \
  vppinfra/serialize.h \
  vppinfra/slist.h \
  vppinfra/smp.h \
  vppinfra/smp_fifo.h \
  vppinfra/socket.h \
  vppinfra/sparse_vec.h \
  vppinfra/string.h \
  vppinfra/time.h \
  vppinfra/timing_wheel.h \
  vppinfra/timer.h \
  vppinfra/types.h \
  vppinfra/unix.h \
  vppinfra/vec.h \
  vppinfra/vec_bootstrap.h \
  vppinfra/vector.h \
  vppinfra/vector_altivec.h \
  vppinfra/vector_funcs.h \
  vppinfra/vector_iwmmxt.h \
  vppinfra/vector_sse2.h \
  vppinfra/valgrind.h \
  vppinfra/vm_unix.h \
  vppinfra/xxhash.h \
  vppinfra/xy.h \
  vppinfra/zvec.h

CLIB_CORE = \
  vppinfra/asm_x86.c \
  vppinfra/backtrace.c \
  vppinfra/elf.c \
  vppinfra/elog.c \
  vppinfra/error.c \
  vppinfra/fifo.c \
  vppinfra/fheap.c \
  vppinfra/format.c \
  vppinfra/graph.c \
  vppinfra/hash.c \
  vppinfra/heap.c \
  vppinfra/longjmp.S \
  vppinfra/macros.c \
  vppinfra/mhash.c \
  vppinfra/mheap.c \
  vppinfra/md5.c \
  vppinfra/mem_mheap.c \
  vppinfra/pfhash.c \
  vppinfra/phash.c \
  vppinfra/qhash.c \
  vppinfra/random.c \
  vppinfra/random_buffer.c \
  vppinfra/random_isaac.c \
  vppinfra/serialize.c \
  vppinfra/slist.c \
  vppinfra/smp.c \
  vppinfra/smp_fifo.c \
  vppinfra/std-formats.c \
  vppinfra/string.c \
  vppinfra/time.c \
  vppinfra/timing_wheel.c \
  vppinfra/unformat.c \
  vppinfra/vec.c \
  vppinfra/vector.c \
  vppinfra/zvec.c


# Core plus Unix additions
libvppinfra_la_SOURCES = \
  $(CLIB_CORE)					\
  vppinfra/elf_clib.c				\
  vppinfra/socket.c				\
  vppinfra/timer.c				\
  vppinfra/unix-formats.c			\
  vppinfra/unix-misc.c

all: all-am

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

$(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):

config/config.h: config/stamp-h1
	@test -f $@ || rm -f config/stamp-h1
	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) config/stamp-h1

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

distclean-hdr:
	-rm -f config/config.h config/stamp-h1
install-libLIBRARIES: $(lib_LIBRARIES)
	@$(NORMAL_INSTALL)
	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
	list2=; for p in $$list; do \
	  if test -f $$p; then \
	    list2="$$list2 $$p"; \
	  else :; fi; \
	done; \
	test -z "$$list2" || { \
	  echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
	  echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \
	  $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; }
	@$(POST_INSTALL)
	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
	for p in $$list; do \
	  if test -f $$p; then \
	    $(am__strip_dir) \
	    echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \
	    ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \
	  else :; fi; \
	done

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

clean-libLIBRARIES:
	-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)

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

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

clean-libLTLIBRARIES:
	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
	@list='$(lib_LTLIBRARIES)'; \
	locs=`for p in $$list; do echo $$p; done | \
	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
	      sort -u`; \
	test -z "$$locs" || { \
	  echo rm -f $${locs}; \
	  rm -f $${locs}; \
	}
vppinfra/$(am__dirstamp):
	@$(MKDIR_P) vppinfra
	@: > vppinfra/$(am__dirstamp)
vppinfra/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) vppinfra/$(DEPDIR)
	@: > vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/asm_x86.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/backtrace.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/elf.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/elog.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/error.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/fifo.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/fheap.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/format.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/graph.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/hash.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/heap.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/longjmp.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/macros.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/mhash.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/mheap.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/md5.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/mem_mheap.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/pfhash.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/phash.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/qhash.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/random.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/random_buffer.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/random_isaac.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/serialize.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/slist.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/smp.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/smp_fifo.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/std-formats.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/string.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/time.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/timing_wheel.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/unformat.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/vec.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/vector.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/zvec.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/elf_clib.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/socket.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/timer.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/unix-formats.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)
vppinfra/unix-misc.lo: vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

libvppinfra.la: $(libvppinfra_la_OBJECTS) $(libvppinfra_la_DEPENDENCIES) $(EXTRA_libvppinfra_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(LINK) $(am_libvppinfra_la_rpath) $(libvppinfra_la_OBJECTS) $(libvppinfra_la_LIBADD) $(LIBS)

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
vppinfra/test_bihash_template-test_bihash_template.$(OBJEXT):  \
	vppinfra/$(am__dirstamp) vppinfra/$(DEPDIR)/$(am__dirstamp)

test_bihash_template$(EXEEXT): $(test_bihash_template_OBJECTS) $(test_bihash_template_DEPENDENCIES) $(EXTRA_test_bihash_template_DEPENDENCIES) 
	@rm -f test_bihash_template$(EXEEXT)
	$(AM_V_CCLD)$(test_bihash_template_LINK) $(test_bihash_template_OBJECTS) $(test_bihash_template_LDADD) $(LIBS)
vppinfra/test_elf-test_elf.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_elf$(EXEEXT): $(test_elf_OBJECTS) $(test_elf_DEPENDENCIES) $(EXTRA_test_elf_DEPENDENCIES) 
	@rm -f test_elf$(EXEEXT)
	$(AM_V_CCLD)$(test_elf_LINK) $(test_elf_OBJECTS) $(test_elf_LDADD) $(LIBS)
vppinfra/test_elog-test_elog.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_elog$(EXEEXT): $(test_elog_OBJECTS) $(test_elog_DEPENDENCIES) $(EXTRA_test_elog_DEPENDENCIES) 
	@rm -f test_elog$(EXEEXT)
	$(AM_V_CCLD)$(test_elog_LINK) $(test_elog_OBJECTS) $(test_elog_LDADD) $(LIBS)
vppinfra/test_fifo-test_fifo.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_fifo$(EXEEXT): $(test_fifo_OBJECTS) $(test_fifo_DEPENDENCIES) $(EXTRA_test_fifo_DEPENDENCIES) 
	@rm -f test_fifo$(EXEEXT)
	$(AM_V_CCLD)$(test_fifo_LINK) $(test_fifo_OBJECTS) $(test_fifo_LDADD) $(LIBS)
vppinfra/test_format-test_format.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_format$(EXEEXT): $(test_format_OBJECTS) $(test_format_DEPENDENCIES) $(EXTRA_test_format_DEPENDENCIES) 
	@rm -f test_format$(EXEEXT)
	$(AM_V_CCLD)$(test_format_LINK) $(test_format_OBJECTS) $(test_format_LDADD) $(LIBS)
vppinfra/test_hash-test_hash.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_hash$(EXEEXT): $(test_hash_OBJECTS) $(test_hash_DEPENDENCIES) $(EXTRA_test_hash_DEPENDENCIES) 
	@rm -f test_hash$(EXEEXT)
	$(AM_V_CCLD)$(test_hash_LINK) $(test_hash_OBJECTS) $(test_hash_LDADD) $(LIBS)
vppinfra/test_heap-test_heap.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_heap$(EXEEXT): $(test_heap_OBJECTS) $(test_heap_DEPENDENCIES) $(EXTRA_test_heap_DEPENDENCIES) 
	@rm -f test_heap$(EXEEXT)
	$(AM_V_CCLD)$(test_heap_LINK) $(test_heap_OBJECTS) $(test_heap_LDADD) $(LIBS)
vppinfra/test_longjmp-test_longjmp.$(OBJEXT):  \
	vppinfra/$(am__dirstamp) vppinfra/$(DEPDIR)/$(am__dirstamp)

test_longjmp$(EXEEXT): $(test_longjmp_OBJECTS) $(test_longjmp_DEPENDENCIES) $(EXTRA_test_longjmp_DEPENDENCIES) 
	@rm -f test_longjmp$(EXEEXT)
	$(AM_V_CCLD)$(test_longjmp_LINK) $(test_longjmp_OBJECTS) $(test_longjmp_LDADD) $(LIBS)
vppinfra/test_macros-test_macros.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_macros$(EXEEXT): $(test_macros_OBJECTS) $(test_macros_DEPENDENCIES) $(EXTRA_test_macros_DEPENDENCIES) 
	@rm -f test_macros$(EXEEXT)
	$(AM_V_CCLD)$(test_macros_LINK) $(test_macros_OBJECTS) $(test_macros_LDADD) $(LIBS)
vppinfra/test_md5-test_md5.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_md5$(EXEEXT): $(test_md5_OBJECTS) $(test_md5_DEPENDENCIES) $(EXTRA_test_md5_DEPENDENCIES) 
	@rm -f test_md5$(EXEEXT)
	$(AM_V_CCLD)$(test_md5_LINK) $(test_md5_OBJECTS) $(test_md5_LDADD) $(LIBS)
vppinfra/test_mheap-test_mheap.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_mheap$(EXEEXT): $(test_mheap_OBJECTS) $(test_mheap_DEPENDENCIES) $(EXTRA_test_mheap_DEPENDENCIES) 
	@rm -f test_mheap$(EXEEXT)
	$(AM_V_CCLD)$(test_mheap_LINK) $(test_mheap_OBJECTS) $(test_mheap_LDADD) $(LIBS)
vppinfra/test_pfhash-test_pfhash.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_pfhash$(EXEEXT): $(test_pfhash_OBJECTS) $(test_pfhash_DEPENDENCIES) $(EXTRA_test_pfhash_DEPENDENCIES) 
	@rm -f test_pfhash$(EXEEXT)
	$(AM_V_CCLD)$(test_pfhash_LINK) $(test_pfhash_OBJECTS) $(test_pfhash_LDADD) $(LIBS)
vppinfra/test_phash-test_phash.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_phash$(EXEEXT): $(test_phash_OBJECTS) $(test_phash_DEPENDENCIES) $(EXTRA_test_phash_DEPENDENCIES) 
	@rm -f test_phash$(EXEEXT)
	$(AM_V_CCLD)$(test_phash_LINK) $(test_phash_OBJECTS) $(test_phash_LDADD) $(LIBS)
vppinfra/test_pool_iterate-test_pool_iterate.$(OBJEXT):  \
	vppinfra/$(am__dirstamp) vppinfra/$(DEPDIR)/$(am__dirstamp)

test_pool_iterate$(EXEEXT): $(test_pool_iterate_OBJECTS) $(test_pool_iterate_DEPENDENCIES) $(EXTRA_test_pool_iterate_DEPENDENCIES) 
	@rm -f test_pool_iterate$(EXEEXT)
	$(AM_V_CCLD)$(test_pool_iterate_LINK) $(test_pool_iterate_OBJECTS) $(test_pool_iterate_LDADD) $(LIBS)
vppinfra/test_qhash-test_qhash.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_qhash$(EXEEXT): $(test_qhash_OBJECTS) $(test_qhash_DEPENDENCIES) $(EXTRA_test_qhash_DEPENDENCIES) 
	@rm -f test_qhash$(EXEEXT)
	$(AM_V_CCLD)$(test_qhash_LINK) $(test_qhash_OBJECTS) $(test_qhash_LDADD) $(LIBS)
vppinfra/test_random-test_random.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_random$(EXEEXT): $(test_random_OBJECTS) $(test_random_DEPENDENCIES) $(EXTRA_test_random_DEPENDENCIES) 
	@rm -f test_random$(EXEEXT)
	$(AM_V_CCLD)$(test_random_LINK) $(test_random_OBJECTS) $(test_random_LDADD) $(LIBS)
vppinfra/test_random_isaac-test_random_isaac.$(OBJEXT):  \
	vppinfra/$(am__dirstamp) vppinfra/$(DEPDIR)/$(am__dirstamp)

test_random_isaac$(EXEEXT): $(test_random_isaac_OBJECTS) $(test_random_isaac_DEPENDENCIES) $(EXTRA_test_random_isaac_DEPENDENCIES) 
	@rm -f test_random_isaac$(EXEEXT)
	$(AM_V_CCLD)$(test_random_isaac_LINK) $(test_random_isaac_OBJECTS) $(test_random_isaac_LDADD) $(LIBS)
vppinfra/test_serialize-test_serialize.$(OBJEXT):  \
	vppinfra/$(am__dirstamp) vppinfra/$(DEPDIR)/$(am__dirstamp)

test_serialize$(EXEEXT): $(test_serialize_OBJECTS) $(test_serialize_DEPENDENCIES) $(EXTRA_test_serialize_DEPENDENCIES) 
	@rm -f test_serialize$(EXEEXT)
	$(AM_V_CCLD)$(test_serialize_LINK) $(test_serialize_OBJECTS) $(test_serialize_LDADD) $(LIBS)
vppinfra/test_slist-test_slist.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_slist$(EXEEXT): $(test_slist_OBJECTS) $(test_slist_DEPENDENCIES) $(EXTRA_test_slist_DEPENDENCIES) 
	@rm -f test_slist$(EXEEXT)
	$(AM_V_CCLD)$(test_slist_LINK) $(test_slist_OBJECTS) $(test_slist_LDADD) $(LIBS)
vppinfra/test_socket-test_socket.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_socket$(EXEEXT): $(test_socket_OBJECTS) $(test_socket_DEPENDENCIES) $(EXTRA_test_socket_DEPENDENCIES) 
	@rm -f test_socket$(EXEEXT)
	$(AM_V_CCLD)$(test_socket_LINK) $(test_socket_OBJECTS) $(test_socket_LDADD) $(LIBS)
vppinfra/test_time-test_time.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_time$(EXEEXT): $(test_time_OBJECTS) $(test_time_DEPENDENCIES) $(EXTRA_test_time_DEPENDENCIES) 
	@rm -f test_time$(EXEEXT)
	$(AM_V_CCLD)$(test_time_LINK) $(test_time_OBJECTS) $(test_time_LDADD) $(LIBS)
vppinfra/test_timing_wheel-test_timing_wheel.$(OBJEXT):  \
	vppinfra/$(am__dirstamp) vppinfra/$(DEPDIR)/$(am__dirstamp)

test_timing_wheel$(EXEEXT): $(test_timing_wheel_OBJECTS) $(test_timing_wheel_DEPENDENCIES) $(EXTRA_test_timing_wheel_DEPENDENCIES) 
	@rm -f test_timing_wheel$(EXEEXT)
	$(AM_V_CCLD)$(test_timing_wheel_LINK) $(test_timing_wheel_OBJECTS) $(test_timing_wheel_LDADD) $(LIBS)
vppinfra/test_vec-test_vec.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_vec$(EXEEXT): $(test_vec_OBJECTS) $(test_vec_DEPENDENCIES) $(EXTRA_test_vec_DEPENDENCIES) 
	@rm -f test_vec$(EXEEXT)
	$(AM_V_CCLD)$(test_vec_LINK) $(test_vec_OBJECTS) $(test_vec_LDADD) $(LIBS)
vppinfra/test_zvec-test_zvec.$(OBJEXT): vppinfra/$(am__dirstamp) \
	vppinfra/$(DEPDIR)/$(am__dirstamp)

test_zvec$(EXEEXT): $(test_zvec_OBJECTS) $(test_zvec_DEPENDENCIES) $(EXTRA_test_zvec_DEPENDENCIES) 
	@rm -f test_zvec$(EXEEXT)
	$(AM_V_CCLD)$(test_zvec_LINK) $(test_zvec_OBJECTS) $(test_zvec_LDADD) $(LIBS)

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

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

@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/asm_x86.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/backtrace.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/elf.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/elf_clib.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/elog.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/error.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/fheap.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/fifo.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/format.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/graph.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/hash.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/heap.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/longjmp.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/macros.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/md5.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/mem_mheap.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/mhash.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/mheap.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/pfhash.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/phash.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/qhash.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/random.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/random_buffer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/random_isaac.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/serialize.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/slist.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/smp.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/smp_fifo.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/socket.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/std-formats.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/string.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_bihash_template-test_bihash_template.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_elf-test_elf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_elog-test_elog.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_fifo-test_fifo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_format-test_format.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_hash-test_hash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_heap-test_heap.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_longjmp-test_longjmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_macros-test_macros.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_md5-test_md5.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_mheap-test_mheap.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_pfhash-test_pfhash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_phash-test_phash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_pool_iterate-test_pool_iterate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_qhash-test_qhash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_random-test_random.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_random_isaac-test_random_isaac.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_serialize-test_serialize.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_slist-test_slist.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_socket-test_socket.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_time-test_time.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_timing_wheel-test_timing_wheel.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_vec-test_vec.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/test_zvec-test_zvec.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/time.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/timer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/timing_wheel.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/unformat.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/unix-formats.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/unix-misc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/vec.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/vector.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@vppinfra/$(DEPDIR)/zvec.Plo@am__quote@

.S.o:
@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCCAS_TRUE@	$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCCAS_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ $<

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

.S.lo:
@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
@am__fastdepCCAS_TRUE@	$(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCCAS_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(LTCPPASCOMPILE) -c -o $@ $<

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

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

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

vppinfra/test_bihash_template-test_bihash_template.o: vppinfra/test_bihash_template.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_bihash_template_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_bihash_template-test_bihash_template.o -MD -MP -MF vppinfra/$(DEPDIR)/test_bihash_template-test_bihash_template.Tpo -c -o vppinfra/test_bihash_template-test_bihash_template.o `test -f 'vppinfra/test_bihash_template.c' || echo '$(srcdir)/'`vppinfra/test_bihash_template.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_bihash_template-test_bihash_template.Tpo vppinfra/$(DEPDIR)/test_bihash_template-test_bihash_template.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_bihash_template.c' object='vppinfra/test_bihash_template-test_bihash_template.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_bihash_template_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_bihash_template-test_bihash_template.o `test -f 'vppinfra/test_bihash_template.c' || echo '$(srcdir)/'`vppinfra/test_bihash_template.c

vppinfra/test_bihash_template-test_bihash_template.obj: vppinfra/test_bihash_template.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_bihash_template_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_bihash_template-test_bihash_template.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_bihash_template-test_bihash_template.Tpo -c -o vppinfra/test_bihash_template-test_bihash_template.obj `if test -f 'vppinfra/test_bihash_template.c'; then $(CYGPATH_W) 'vppinfra/test_bihash_template.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_bihash_template.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_bihash_template-test_bihash_template.Tpo vppinfra/$(DEPDIR)/test_bihash_template-test_bihash_template.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_bihash_template.c' object='vppinfra/test_bihash_template-test_bihash_template.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_bihash_template_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_bihash_template-test_bihash_template.obj `if test -f 'vppinfra/test_bihash_template.c'; then $(CYGPATH_W) 'vppinfra/test_bihash_template.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_bihash_template.c'; fi`

vppinfra/test_elf-test_elf.o: vppinfra/test_elf.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_elf_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_elf-test_elf.o -MD -MP -MF vppinfra/$(DEPDIR)/test_elf-test_elf.Tpo -c -o vppinfra/test_elf-test_elf.o `test -f 'vppinfra/test_elf.c' || echo '$(srcdir)/'`vppinfra/test_elf.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_elf-test_elf.Tpo vppinfra/$(DEPDIR)/test_elf-test_elf.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_elf.c' object='vppinfra/test_elf-test_elf.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_elf_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_elf-test_elf.o `test -f 'vppinfra/test_elf.c' || echo '$(srcdir)/'`vppinfra/test_elf.c

vppinfra/test_elf-test_elf.obj: vppinfra/test_elf.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_elf_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_elf-test_elf.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_elf-test_elf.Tpo -c -o vppinfra/test_elf-test_elf.obj `if test -f 'vppinfra/test_elf.c'; then $(CYGPATH_W) 'vppinfra/test_elf.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_elf.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_elf-test_elf.Tpo vppinfra/$(DEPDIR)/test_elf-test_elf.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_elf.c' object='vppinfra/test_elf-test_elf.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_elf_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_elf-test_elf.obj `if test -f 'vppinfra/test_elf.c'; then $(CYGPATH_W) 'vppinfra/test_elf.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_elf.c'; fi`

vppinfra/test_elog-test_elog.o: vppinfra/test_elog.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_elog_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_elog-test_elog.o -MD -MP -MF vppinfra/$(DEPDIR)/test_elog-test_elog.Tpo -c -o vppinfra/test_elog-test_elog.o `test -f 'vppinfra/test_elog.c' || echo '$(srcdir)/'`vppinfra/test_elog.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_elog-test_elog.Tpo vppinfra/$(DEPDIR)/test_elog-test_elog.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_elog.c' object='vppinfra/test_elog-test_elog.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_elog_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_elog-test_elog.o `test -f 'vppinfra/test_elog.c' || echo '$(srcdir)/'`vppinfra/test_elog.c

vppinfra/test_elog-test_elog.obj: vppinfra/test_elog.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_elog_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_elog-test_elog.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_elog-test_elog.Tpo -c -o vppinfra/test_elog-test_elog.obj `if test -f 'vppinfra/test_elog.c'; then $(CYGPATH_W) 'vppinfra/test_elog.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_elog.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_elog-test_elog.Tpo vppinfra/$(DEPDIR)/test_elog-test_elog.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_elog.c' object='vppinfra/test_elog-test_elog.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_elog_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_elog-test_elog.obj `if test -f 'vppinfra/test_elog.c'; then $(CYGPATH_W) 'vppinfra/test_elog.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_elog.c'; fi`

vppinfra/test_fifo-test_fifo.o: vppinfra/test_fifo.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_fifo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_fifo-test_fifo.o -MD -MP -MF vppinfra/$(DEPDIR)/test_fifo-test_fifo.Tpo -c -o vppinfra/test_fifo-test_fifo.o `test -f 'vppinfra/test_fifo.c' || echo '$(srcdir)/'`vppinfra/test_fifo.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_fifo-test_fifo.Tpo vppinfra/$(DEPDIR)/test_fifo-test_fifo.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_fifo.c' object='vppinfra/test_fifo-test_fifo.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_fifo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_fifo-test_fifo.o `test -f 'vppinfra/test_fifo.c' || echo '$(srcdir)/'`vppinfra/test_fifo.c

vppinfra/test_fifo-test_fifo.obj: vppinfra/test_fifo.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_fifo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_fifo-test_fifo.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_fifo-test_fifo.Tpo -c -o vppinfra/test_fifo-test_fifo.obj `if test -f 'vppinfra/test_fifo.c'; then $(CYGPATH_W) 'vppinfra/test_fifo.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_fifo.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_fifo-test_fifo.Tpo vppinfra/$(DEPDIR)/test_fifo-test_fifo.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_fifo.c' object='vppinfra/test_fifo-test_fifo.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_fifo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_fifo-test_fifo.obj `if test -f 'vppinfra/test_fifo.c'; then $(CYGPATH_W) 'vppinfra/test_fifo.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_fifo.c'; fi`

vppinfra/test_format-test_format.o: vppinfra/test_format.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_format_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_format-test_format.o -MD -MP -MF vppinfra/$(DEPDIR)/test_format-test_format.Tpo -c -o vppinfra/test_format-test_format.o `test -f 'vppinfra/test_format.c' || echo '$(srcdir)/'`vppinfra/test_format.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_format-test_format.Tpo vppinfra/$(DEPDIR)/test_format-test_format.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_format.c' object='vppinfra/test_format-test_format.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_format_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_format-test_format.o `test -f 'vppinfra/test_format.c' || echo '$(srcdir)/'`vppinfra/test_format.c

vppinfra/test_format-test_format.obj: vppinfra/test_format.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_format_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_format-test_format.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_format-test_format.Tpo -c -o vppinfra/test_format-test_format.obj `if test -f 'vppinfra/test_format.c'; then $(CYGPATH_W) 'vppinfra/test_format.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_format.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_format-test_format.Tpo vppinfra/$(DEPDIR)/test_format-test_format.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_format.c' object='vppinfra/test_format-test_format.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_format_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_format-test_format.obj `if test -f 'vppinfra/test_format.c'; then $(CYGPATH_W) 'vppinfra/test_format.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_format.c'; fi`

vppinfra/test_hash-test_hash.o: vppinfra/test_hash.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_hash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_hash-test_hash.o -MD -MP -MF vppinfra/$(DEPDIR)/test_hash-test_hash.Tpo -c -o vppinfra/test_hash-test_hash.o `test -f 'vppinfra/test_hash.c' || echo '$(srcdir)/'`vppinfra/test_hash.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_hash-test_hash.Tpo vppinfra/$(DEPDIR)/test_hash-test_hash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_hash.c' object='vppinfra/test_hash-test_hash.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_hash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_hash-test_hash.o `test -f 'vppinfra/test_hash.c' || echo '$(srcdir)/'`vppinfra/test_hash.c

vppinfra/test_hash-test_hash.obj: vppinfra/test_hash.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_hash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_hash-test_hash.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_hash-test_hash.Tpo -c -o vppinfra/test_hash-test_hash.obj `if test -f 'vppinfra/test_hash.c'; then $(CYGPATH_W) 'vppinfra/test_hash.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_hash.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_hash-test_hash.Tpo vppinfra/$(DEPDIR)/test_hash-test_hash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_hash.c' object='vppinfra/test_hash-test_hash.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_hash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_hash-test_hash.obj `if test -f 'vppinfra/test_hash.c'; then $(CYGPATH_W) 'vppinfra/test_hash.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_hash.c'; fi`

vppinfra/test_heap-test_heap.o: vppinfra/test_heap.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_heap_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_heap-test_heap.o -MD -MP -MF vppinfra/$(DEPDIR)/test_heap-test_heap.Tpo -c -o vppinfra/test_heap-test_heap.o `test -f 'vppinfra/test_heap.c' || echo '$(srcdir)/'`vppinfra/test_heap.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_heap-test_heap.Tpo vppinfra/$(DEPDIR)/test_heap-test_heap.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_heap.c' object='vppinfra/test_heap-test_heap.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_heap_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_heap-test_heap.o `test -f 'vppinfra/test_heap.c' || echo '$(srcdir)/'`vppinfra/test_heap.c

vppinfra/test_heap-test_heap.obj: vppinfra/test_heap.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_heap_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_heap-test_heap.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_heap-test_heap.Tpo -c -o vppinfra/test_heap-test_heap.obj `if test -f 'vppinfra/test_heap.c'; then $(CYGPATH_W) 'vppinfra/test_heap.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_heap.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_heap-test_heap.Tpo vppinfra/$(DEPDIR)/test_heap-test_heap.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_heap.c' object='vppinfra/test_heap-test_heap.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_heap_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_heap-test_heap.obj `if test -f 'vppinfra/test_heap.c'; then $(CYGPATH_W) 'vppinfra/test_heap.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_heap.c'; fi`

vppinfra/test_longjmp-test_longjmp.o: vppinfra/test_longjmp.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_longjmp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_longjmp-test_longjmp.o -MD -MP -MF vppinfra/$(DEPDIR)/test_longjmp-test_longjmp.Tpo -c -o vppinfra/test_longjmp-test_longjmp.o `test -f 'vppinfra/test_longjmp.c' || echo '$(srcdir)/'`vppinfra/test_longjmp.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_longjmp-test_longjmp.Tpo vppinfra/$(DEPDIR)/test_longjmp-test_longjmp.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_longjmp.c' object='vppinfra/test_longjmp-test_longjmp.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_longjmp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_longjmp-test_longjmp.o `test -f 'vppinfra/test_longjmp.c' || echo '$(srcdir)/'`vppinfra/test_longjmp.c

vppinfra/test_longjmp-test_longjmp.obj: vppinfra/test_longjmp.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_longjmp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_longjmp-test_longjmp.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_longjmp-test_longjmp.Tpo -c -o vppinfra/test_longjmp-test_longjmp.obj `if test -f 'vppinfra/test_longjmp.c'; then $(CYGPATH_W) 'vppinfra/test_longjmp.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_longjmp.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_longjmp-test_longjmp.Tpo vppinfra/$(DEPDIR)/test_longjmp-test_longjmp.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_longjmp.c' object='vppinfra/test_longjmp-test_longjmp.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_longjmp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_longjmp-test_longjmp.obj `if test -f 'vppinfra/test_longjmp.c'; then $(CYGPATH_W) 'vppinfra/test_longjmp.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_longjmp.c'; fi`

vppinfra/test_macros-test_macros.o: vppinfra/test_macros.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_macros_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_macros-test_macros.o -MD -MP -MF vppinfra/$(DEPDIR)/test_macros-test_macros.Tpo -c -o vppinfra/test_macros-test_macros.o `test -f 'vppinfra/test_macros.c' || echo '$(srcdir)/'`vppinfra/test_macros.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_macros-test_macros.Tpo vppinfra/$(DEPDIR)/test_macros-test_macros.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_macros.c' object='vppinfra/test_macros-test_macros.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_macros_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_macros-test_macros.o `test -f 'vppinfra/test_macros.c' || echo '$(srcdir)/'`vppinfra/test_macros.c

vppinfra/test_macros-test_macros.obj: vppinfra/test_macros.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_macros_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_macros-test_macros.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_macros-test_macros.Tpo -c -o vppinfra/test_macros-test_macros.obj `if test -f 'vppinfra/test_macros.c'; then $(CYGPATH_W) 'vppinfra/test_macros.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_macros.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_macros-test_macros.Tpo vppinfra/$(DEPDIR)/test_macros-test_macros.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_macros.c' object='vppinfra/test_macros-test_macros.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_macros_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_macros-test_macros.obj `if test -f 'vppinfra/test_macros.c'; then $(CYGPATH_W) 'vppinfra/test_macros.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_macros.c'; fi`

vppinfra/test_md5-test_md5.o: vppinfra/test_md5.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_md5_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_md5-test_md5.o -MD -MP -MF vppinfra/$(DEPDIR)/test_md5-test_md5.Tpo -c -o vppinfra/test_md5-test_md5.o `test -f 'vppinfra/test_md5.c' || echo '$(srcdir)/'`vppinfra/test_md5.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_md5-test_md5.Tpo vppinfra/$(DEPDIR)/test_md5-test_md5.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_md5.c' object='vppinfra/test_md5-test_md5.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_md5_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_md5-test_md5.o `test -f 'vppinfra/test_md5.c' || echo '$(srcdir)/'`vppinfra/test_md5.c

vppinfra/test_md5-test_md5.obj: vppinfra/test_md5.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_md5_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_md5-test_md5.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_md5-test_md5.Tpo -c -o vppinfra/test_md5-test_md5.obj `if test -f 'vppinfra/test_md5.c'; then $(CYGPATH_W) 'vppinfra/test_md5.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_md5.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_md5-test_md5.Tpo vppinfra/$(DEPDIR)/test_md5-test_md5.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_md5.c' object='vppinfra/test_md5-test_md5.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_md5_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_md5-test_md5.obj `if test -f 'vppinfra/test_md5.c'; then $(CYGPATH_W) 'vppinfra/test_md5.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_md5.c'; fi`

vppinfra/test_mheap-test_mheap.o: vppinfra/test_mheap.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_mheap_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_mheap-test_mheap.o -MD -MP -MF vppinfra/$(DEPDIR)/test_mheap-test_mheap.Tpo -c -o vppinfra/test_mheap-test_mheap.o `test -f 'vppinfra/test_mheap.c' || echo '$(srcdir)/'`vppinfra/test_mheap.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_mheap-test_mheap.Tpo vppinfra/$(DEPDIR)/test_mheap-test_mheap.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_mheap.c' object='vppinfra/test_mheap-test_mheap.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_mheap_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_mheap-test_mheap.o `test -f 'vppinfra/test_mheap.c' || echo '$(srcdir)/'`vppinfra/test_mheap.c

vppinfra/test_mheap-test_mheap.obj: vppinfra/test_mheap.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_mheap_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_mheap-test_mheap.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_mheap-test_mheap.Tpo -c -o vppinfra/test_mheap-test_mheap.obj `if test -f 'vppinfra/test_mheap.c'; then $(CYGPATH_W) 'vppinfra/test_mheap.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_mheap.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_mheap-test_mheap.Tpo vppinfra/$(DEPDIR)/test_mheap-test_mheap.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_mheap.c' object='vppinfra/test_mheap-test_mheap.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_mheap_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_mheap-test_mheap.obj `if test -f 'vppinfra/test_mheap.c'; then $(CYGPATH_W) 'vppinfra/test_mheap.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_mheap.c'; fi`

vppinfra/test_pfhash-test_pfhash.o: vppinfra/test_pfhash.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_pfhash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_pfhash-test_pfhash.o -MD -MP -MF vppinfra/$(DEPDIR)/test_pfhash-test_pfhash.Tpo -c -o vppinfra/test_pfhash-test_pfhash.o `test -f 'vppinfra/test_pfhash.c' || echo '$(srcdir)/'`vppinfra/test_pfhash.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_pfhash-test_pfhash.Tpo vppinfra/$(DEPDIR)/test_pfhash-test_pfhash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_pfhash.c' object='vppinfra/test_pfhash-test_pfhash.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_pfhash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_pfhash-test_pfhash.o `test -f 'vppinfra/test_pfhash.c' || echo '$(srcdir)/'`vppinfra/test_pfhash.c

vppinfra/test_pfhash-test_pfhash.obj: vppinfra/test_pfhash.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_pfhash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_pfhash-test_pfhash.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_pfhash-test_pfhash.Tpo -c -o vppinfra/test_pfhash-test_pfhash.obj `if test -f 'vppinfra/test_pfhash.c'; then $(CYGPATH_W) 'vppinfra/test_pfhash.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_pfhash.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_pfhash-test_pfhash.Tpo vppinfra/$(DEPDIR)/test_pfhash-test_pfhash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_pfhash.c' object='vppinfra/test_pfhash-test_pfhash.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_pfhash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_pfhash-test_pfhash.obj `if test -f 'vppinfra/test_pfhash.c'; then $(CYGPATH_W) 'vppinfra/test_pfhash.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_pfhash.c'; fi`

vppinfra/test_phash-test_phash.o: vppinfra/test_phash.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_phash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_phash-test_phash.o -MD -MP -MF vppinfra/$(DEPDIR)/test_phash-test_phash.Tpo -c -o vppinfra/test_phash-test_phash.o `test -f 'vppinfra/test_phash.c' || echo '$(srcdir)/'`vppinfra/test_phash.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_phash-test_phash.Tpo vppinfra/$(DEPDIR)/test_phash-test_phash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_phash.c' object='vppinfra/test_phash-test_phash.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_phash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_phash-test_phash.o `test -f 'vppinfra/test_phash.c' || echo '$(srcdir)/'`vppinfra/test_phash.c

vppinfra/test_phash-test_phash.obj: vppinfra/test_phash.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_phash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_phash-test_phash.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_phash-test_phash.Tpo -c -o vppinfra/test_phash-test_phash.obj `if test -f 'vppinfra/test_phash.c'; then $(CYGPATH_W) 'vppinfra/test_phash.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_phash.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_phash-test_phash.Tpo vppinfra/$(DEPDIR)/test_phash-test_phash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_phash.c' object='vppinfra/test_phash-test_phash.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_phash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_phash-test_phash.obj `if test -f 'vppinfra/test_phash.c'; then $(CYGPATH_W) 'vppinfra/test_phash.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_phash.c'; fi`

vppinfra/test_pool_iterate-test_pool_iterate.o: vppinfra/test_pool_iterate.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_pool_iterate_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_pool_iterate-test_pool_iterate.o -MD -MP -MF vppinfra/$(DEPDIR)/test_pool_iterate-test_pool_iterate.Tpo -c -o vppinfra/test_pool_iterate-test_pool_iterate.o `test -f 'vppinfra/test_pool_iterate.c' || echo '$(srcdir)/'`vppinfra/test_pool_iterate.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_pool_iterate-test_pool_iterate.Tpo vppinfra/$(DEPDIR)/test_pool_iterate-test_pool_iterate.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_pool_iterate.c' object='vppinfra/test_pool_iterate-test_pool_iterate.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_pool_iterate_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_pool_iterate-test_pool_iterate.o `test -f 'vppinfra/test_pool_iterate.c' || echo '$(srcdir)/'`vppinfra/test_pool_iterate.c

vppinfra/test_pool_iterate-test_pool_iterate.obj: vppinfra/test_pool_iterate.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_pool_iterate_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_pool_iterate-test_pool_iterate.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_pool_iterate-test_pool_iterate.Tpo -c -o vppinfra/test_pool_iterate-test_pool_iterate.obj `if test -f 'vppinfra/test_pool_iterate.c'; then $(CYGPATH_W) 'vppinfra/test_pool_iterate.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_pool_iterate.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_pool_iterate-test_pool_iterate.Tpo vppinfra/$(DEPDIR)/test_pool_iterate-test_pool_iterate.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_pool_iterate.c' object='vppinfra/test_pool_iterate-test_pool_iterate.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_pool_iterate_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_pool_iterate-test_pool_iterate.obj `if test -f 'vppinfra/test_pool_iterate.c'; then $(CYGPATH_W) 'vppinfra/test_pool_iterate.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_pool_iterate.c'; fi`

vppinfra/test_qhash-test_qhash.o: vppinfra/test_qhash.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qhash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_qhash-test_qhash.o -MD -MP -MF vppinfra/$(DEPDIR)/test_qhash-test_qhash.Tpo -c -o vppinfra/test_qhash-test_qhash.o `test -f 'vppinfra/test_qhash.c' || echo '$(srcdir)/'`vppinfra/test_qhash.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_qhash-test_qhash.Tpo vppinfra/$(DEPDIR)/test_qhash-test_qhash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_qhash.c' object='vppinfra/test_qhash-test_qhash.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qhash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_qhash-test_qhash.o `test -f 'vppinfra/test_qhash.c' || echo '$(srcdir)/'`vppinfra/test_qhash.c

vppinfra/test_qhash-test_qhash.obj: vppinfra/test_qhash.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qhash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_qhash-test_qhash.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_qhash-test_qhash.Tpo -c -o vppinfra/test_qhash-test_qhash.obj `if test -f 'vppinfra/test_qhash.c'; then $(CYGPATH_W) 'vppinfra/test_qhash.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_qhash.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_qhash-test_qhash.Tpo vppinfra/$(DEPDIR)/test_qhash-test_qhash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_qhash.c' object='vppinfra/test_qhash-test_qhash.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qhash_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_qhash-test_qhash.obj `if test -f 'vppinfra/test_qhash.c'; then $(CYGPATH_W) 'vppinfra/test_qhash.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_qhash.c'; fi`

vppinfra/test_random-test_random.o: vppinfra/test_random.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_random_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_random-test_random.o -MD -MP -MF vppinfra/$(DEPDIR)/test_random-test_random.Tpo -c -o vppinfra/test_random-test_random.o `test -f 'vppinfra/test_random.c' || echo '$(srcdir)/'`vppinfra/test_random.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_random-test_random.Tpo vppinfra/$(DEPDIR)/test_random-test_random.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_random.c' object='vppinfra/test_random-test_random.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_random_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_random-test_random.o `test -f 'vppinfra/test_random.c' || echo '$(srcdir)/'`vppinfra/test_random.c

vppinfra/test_random-test_random.obj: vppinfra/test_random.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_random_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_random-test_random.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_random-test_random.Tpo -c -o vppinfra/test_random-test_random.obj `if test -f 'vppinfra/test_random.c'; then $(CYGPATH_W) 'vppinfra/test_random.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_random.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_random-test_random.Tpo vppinfra/$(DEPDIR)/test_random-test_random.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_random.c' object='vppinfra/test_random-test_random.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_random_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_random-test_random.obj `if test -f 'vppinfra/test_random.c'; then $(CYGPATH_W) 'vppinfra/test_random.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_random.c'; fi`

vppinfra/test_random_isaac-test_random_isaac.o: vppinfra/test_random_isaac.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_random_isaac_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_random_isaac-test_random_isaac.o -MD -MP -MF vppinfra/$(DEPDIR)/test_random_isaac-test_random_isaac.Tpo -c -o vppinfra/test_random_isaac-test_random_isaac.o `test -f 'vppinfra/test_random_isaac.c' || echo '$(srcdir)/'`vppinfra/test_random_isaac.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_random_isaac-test_random_isaac.Tpo vppinfra/$(DEPDIR)/test_random_isaac-test_random_isaac.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_random_isaac.c' object='vppinfra/test_random_isaac-test_random_isaac.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_random_isaac_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_random_isaac-test_random_isaac.o `test -f 'vppinfra/test_random_isaac.c' || echo '$(srcdir)/'`vppinfra/test_random_isaac.c

vppinfra/test_random_isaac-test_random_isaac.obj: vppinfra/test_random_isaac.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_random_isaac_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_random_isaac-test_random_isaac.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_random_isaac-test_random_isaac.Tpo -c -o vppinfra/test_random_isaac-test_random_isaac.obj `if test -f 'vppinfra/test_random_isaac.c'; then $(CYGPATH_W) 'vppinfra/test_random_isaac.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_random_isaac.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_random_isaac-test_random_isaac.Tpo vppinfra/$(DEPDIR)/test_random_isaac-test_random_isaac.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_random_isaac.c' object='vppinfra/test_random_isaac-test_random_isaac.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_random_isaac_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_random_isaac-test_random_isaac.obj `if test -f 'vppinfra/test_random_isaac.c'; then $(CYGPATH_W) 'vppinfra/test_random_isaac.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_random_isaac.c'; fi`

vppinfra/test_serialize-test_serialize.o: vppinfra/test_serialize.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_serialize_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_serialize-test_serialize.o -MD -MP -MF vppinfra/$(DEPDIR)/test_serialize-test_serialize.Tpo -c -o vppinfra/test_serialize-test_serialize.o `test -f 'vppinfra/test_serialize.c' || echo '$(srcdir)/'`vppinfra/test_serialize.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_serialize-test_serialize.Tpo vppinfra/$(DEPDIR)/test_serialize-test_serialize.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_serialize.c' object='vppinfra/test_serialize-test_serialize.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_serialize_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_serialize-test_serialize.o `test -f 'vppinfra/test_serialize.c' || echo '$(srcdir)/'`vppinfra/test_serialize.c

vppinfra/test_serialize-test_serialize.obj: vppinfra/test_serialize.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_serialize_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_serialize-test_serialize.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_serialize-test_serialize.Tpo -c -o vppinfra/test_serialize-test_serialize.obj `if test -f 'vppinfra/test_serialize.c'; then $(CYGPATH_W) 'vppinfra/test_serialize.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_serialize.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_serialize-test_serialize.Tpo vppinfra/$(DEPDIR)/test_serialize-test_serialize.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_serialize.c' object='vppinfra/test_serialize-test_serialize.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_serialize_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_serialize-test_serialize.obj `if test -f 'vppinfra/test_serialize.c'; then $(CYGPATH_W) 'vppinfra/test_serialize.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_serialize.c'; fi`

vppinfra/test_slist-test_slist.o: vppinfra/test_slist.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_slist_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_slist-test_slist.o -MD -MP -MF vppinfra/$(DEPDIR)/test_slist-test_slist.Tpo -c -o vppinfra/test_slist-test_slist.o `test -f 'vppinfra/test_slist.c' || echo '$(srcdir)/'`vppinfra/test_slist.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_slist-test_slist.Tpo vppinfra/$(DEPDIR)/test_slist-test_slist.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_slist.c' object='vppinfra/test_slist-test_slist.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_slist_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_slist-test_slist.o `test -f 'vppinfra/test_slist.c' || echo '$(srcdir)/'`vppinfra/test_slist.c

vppinfra/test_slist-test_slist.obj: vppinfra/test_slist.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_slist_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_slist-test_slist.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_slist-test_slist.Tpo -c -o vppinfra/test_slist-test_slist.obj `if test -f 'vppinfra/test_slist.c'; then $(CYGPATH_W) 'vppinfra/test_slist.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_slist.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_slist-test_slist.Tpo vppinfra/$(DEPDIR)/test_slist-test_slist.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_slist.c' object='vppinfra/test_slist-test_slist.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_slist_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_slist-test_slist.obj `if test -f 'vppinfra/test_slist.c'; then $(CYGPATH_W) 'vppinfra/test_slist.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_slist.c'; fi`

vppinfra/test_socket-test_socket.o: vppinfra/test_socket.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_socket_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_socket-test_socket.o -MD -MP -MF vppinfra/$(DEPDIR)/test_socket-test_socket.Tpo -c -o vppinfra/test_socket-test_socket.o `test -f 'vppinfra/test_socket.c' || echo '$(srcdir)/'`vppinfra/test_socket.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_socket-test_socket.Tpo vppinfra/$(DEPDIR)/test_socket-test_socket.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_socket.c' object='vppinfra/test_socket-test_socket.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_socket_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_socket-test_socket.o `test -f 'vppinfra/test_socket.c' || echo '$(srcdir)/'`vppinfra/test_socket.c

vppinfra/test_socket-test_socket.obj: vppinfra/test_socket.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_socket_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_socket-test_socket.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_socket-test_socket.Tpo -c -o vppinfra/test_socket-test_socket.obj `if test -f 'vppinfra/test_socket.c'; then $(CYGPATH_W) 'vppinfra/test_socket.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_socket.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_socket-test_socket.Tpo vppinfra/$(DEPDIR)/test_socket-test_socket.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_socket.c' object='vppinfra/test_socket-test_socket.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_socket_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_socket-test_socket.obj `if test -f 'vppinfra/test_socket.c'; then $(CYGPATH_W) 'vppinfra/test_socket.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_socket.c'; fi`

vppinfra/test_time-test_time.o: vppinfra/test_time.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_time_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_time-test_time.o -MD -MP -MF vppinfra/$(DEPDIR)/test_time-test_time.Tpo -c -o vppinfra/test_time-test_time.o `test -f 'vppinfra/test_time.c' || echo '$(srcdir)/'`vppinfra/test_time.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_time-test_time.Tpo vppinfra/$(DEPDIR)/test_time-test_time.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_time.c' object='vppinfra/test_time-test_time.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_time_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_time-test_time.o `test -f 'vppinfra/test_time.c' || echo '$(srcdir)/'`vppinfra/test_time.c

vppinfra/test_time-test_time.obj: vppinfra/test_time.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_time_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_time-test_time.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_time-test_time.Tpo -c -o vppinfra/test_time-test_time.obj `if test -f 'vppinfra/test_time.c'; then $(CYGPATH_W) 'vppinfra/test_time.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_time.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_time-test_time.Tpo vppinfra/$(DEPDIR)/test_time-test_time.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_time.c' object='vppinfra/test_time-test_time.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_time_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_time-test_time.obj `if test -f 'vppinfra/test_time.c'; then $(CYGPATH_W) 'vppinfra/test_time.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_time.c'; fi`

vppinfra/test_timing_wheel-test_timing_wheel.o: vppinfra/test_timing_wheel.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_timing_wheel_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_timing_wheel-test_timing_wheel.o -MD -MP -MF vppinfra/$(DEPDIR)/test_timing_wheel-test_timing_wheel.Tpo -c -o vppinfra/test_timing_wheel-test_timing_wheel.o `test -f 'vppinfra/test_timing_wheel.c' || echo '$(srcdir)/'`vppinfra/test_timing_wheel.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_timing_wheel-test_timing_wheel.Tpo vppinfra/$(DEPDIR)/test_timing_wheel-test_timing_wheel.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_timing_wheel.c' object='vppinfra/test_timing_wheel-test_timing_wheel.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_timing_wheel_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_timing_wheel-test_timing_wheel.o `test -f 'vppinfra/test_timing_wheel.c' || echo '$(srcdir)/'`vppinfra/test_timing_wheel.c

vppinfra/test_timing_wheel-test_timing_wheel.obj: vppinfra/test_timing_wheel.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_timing_wheel_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_timing_wheel-test_timing_wheel.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_timing_wheel-test_timing_wheel.Tpo -c -o vppinfra/test_timing_wheel-test_timing_wheel.obj `if test -f 'vppinfra/test_timing_wheel.c'; then $(CYGPATH_W) 'vppinfra/test_timing_wheel.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_timing_wheel.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_timing_wheel-test_timing_wheel.Tpo vppinfra/$(DEPDIR)/test_timing_wheel-test_timing_wheel.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_timing_wheel.c' object='vppinfra/test_timing_wheel-test_timing_wheel.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_timing_wheel_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_timing_wheel-test_timing_wheel.obj `if test -f 'vppinfra/test_timing_wheel.c'; then $(CYGPATH_W) 'vppinfra/test_timing_wheel.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_timing_wheel.c'; fi`

vppinfra/test_vec-test_vec.o: vppinfra/test_vec.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_vec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_vec-test_vec.o -MD -MP -MF vppinfra/$(DEPDIR)/test_vec-test_vec.Tpo -c -o vppinfra/test_vec-test_vec.o `test -f 'vppinfra/test_vec.c' || echo '$(srcdir)/'`vppinfra/test_vec.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_vec-test_vec.Tpo vppinfra/$(DEPDIR)/test_vec-test_vec.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_vec.c' object='vppinfra/test_vec-test_vec.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_vec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_vec-test_vec.o `test -f 'vppinfra/test_vec.c' || echo '$(srcdir)/'`vppinfra/test_vec.c

vppinfra/test_vec-test_vec.obj: vppinfra/test_vec.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_vec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_vec-test_vec.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_vec-test_vec.Tpo -c -o vppinfra/test_vec-test_vec.obj `if test -f 'vppinfra/test_vec.c'; then $(CYGPATH_W) 'vppinfra/test_vec.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_vec.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_vec-test_vec.Tpo vppinfra/$(DEPDIR)/test_vec-test_vec.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_vec.c' object='vppinfra/test_vec-test_vec.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_vec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_vec-test_vec.obj `if test -f 'vppinfra/test_vec.c'; then $(CYGPATH_W) 'vppinfra/test_vec.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_vec.c'; fi`

vppinfra/test_zvec-test_zvec.o: vppinfra/test_zvec.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_zvec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_zvec-test_zvec.o -MD -MP -MF vppinfra/$(DEPDIR)/test_zvec-test_zvec.Tpo -c -o vppinfra/test_zvec-test_zvec.o `test -f 'vppinfra/test_zvec.c' || echo '$(srcdir)/'`vppinfra/test_zvec.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_zvec-test_zvec.Tpo vppinfra/$(DEPDIR)/test_zvec-test_zvec.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_zvec.c' object='vppinfra/test_zvec-test_zvec.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_zvec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_zvec-test_zvec.o `test -f 'vppinfra/test_zvec.c' || echo '$(srcdir)/'`vppinfra/test_zvec.c

vppinfra/test_zvec-test_zvec.obj: vppinfra/test_zvec.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_zvec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vppinfra/test_zvec-test_zvec.obj -MD -MP -MF vppinfra/$(DEPDIR)/test_zvec-test_zvec.Tpo -c -o vppinfra/test_zvec-test_zvec.obj `if test -f 'vppinfra/test_zvec.c'; then $(CYGPATH_W) 'vppinfra/test_zvec.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_zvec.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) vppinfra/$(DEPDIR)/test_zvec-test_zvec.Tpo vppinfra/$(DEPDIR)/test_zvec-test_zvec.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='vppinfra/test_zvec.c' object='vppinfra/test_zvec-test_zvec.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_zvec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vppinfra/test_zvec-test_zvec.obj `if test -f 'vppinfra/test_zvec.c'; then $(CYGPATH_W) 'vppinfra/test_zvec.c'; else $(CYGPATH_W) '$(srcdir)/vppinfra/test_zvec.c'; fi`

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs
	-rm -rf vppinfra/.libs vppinfra/_libs

distclean-libtool:
	-rm -f libtool config.lt
install-nobase_includeHEADERS: $(nobase_include_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
	fi; \
	$(am__nobase_list) | while read dir files; do \
	  xfiles=; for file in $$files; do \
	    if test -f "$$file"; then xfiles="$$xfiles $$file"; \
	    else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \
	  test -z "$$xfiles" || { \
	    test "x$$dir" = x. || { \
	      echo " $(MKDIR_P) '$(DESTDIR)$(includedir)/$$dir'"; \
	      $(MKDIR_P) "$(DESTDIR)$(includedir)/$$dir"; }; \
	    echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(includedir)/$$dir'"; \
	    $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(includedir)/$$dir" || exit $$?; }; \
	done

uninstall-nobase_includeHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \
	$(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
	dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)

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

tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	set x; \
	here=`pwd`; \
	$(am__define_uniq_tagged_files); \
	shift; \
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  if test $$# -gt 0; then \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      "$$@" $$unique; \
	  else \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      $$unique; \
	  fi; \
	fi
ctags: ctags-am

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

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

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

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

# Recover from deleted '.trs' file; this should ensure that
# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
# to avoid problems with "make -n".
.log.trs:
	rm -f $< $@
	$(MAKE) $(AM_MAKEFLAGS) $<

# Leading 'am--fnord' is there to ensure the list of targets does not
# expand to empty, as could happen e.g. with make check TESTS=''.
am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
am--force-recheck:
	@:

$(TEST_SUITE_LOG): $(TEST_LOGS)
	@$(am__set_TESTS_bases); \
	am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
	redo_bases=`for i in $$bases; do \
	              am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
	            done`; \
	if test -n "$$redo_bases"; then \
	  redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
	  redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
	  if $(am__make_dryrun); then :; else \
	    rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
	  fi; \
	fi; \
	if test -n "$$am__remaking_logs"; then \
	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
	       "recursion detected" >&2; \
	else \
	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
	fi; \
	if $(am__make_dryrun); then :; else \
	  st=0;  \
	  errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
	  for i in $$redo_bases; do \
	    test -f $$i.trs && test -r $$i.trs \
	      || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
	    test -f $$i.log && test -r $$i.log \
	      || { echo "$$errmsg $$i.log" >&2; st=1; }; \
	  done; \
	  test $$st -eq 0 || exit 1; \
	fi
	@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
	ws='[ 	]'; \
	results=`for b in $$bases; do echo $$b.trs; done`; \
	test -n "$$results" || results=/dev/null; \
	all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
	pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
	fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
	skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
	xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
	xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
	error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
	if test `expr $$fail + $$xpass + $$error` -eq 0; then \
	  success=true; \
	else \
	  success=false; \
	fi; \
	br='==================='; br=$$br$$br$$br$$br; \
	result_count () \
	{ \
	    if test x"$$1" = x"--maybe-color"; then \
	      maybe_colorize=yes; \
	    elif test x"$$1" = x"--no-color"; then \
	      maybe_colorize=no; \
	    else \
	      echo "$@: invalid 'result_count' usage" >&2; exit 4; \
	    fi; \
	    shift; \
	    desc=$$1 count=$$2; \
	    if test $$maybe_colorize = yes && test $$count -gt 0; then \
	      color_start=$$3 color_end=$$std; \
	    else \
	      color_start= color_end=; \
	    fi; \
	    echo "$${color_start}# $$desc $$count$${color_end}"; \
	}; \
	create_testsuite_report () \
	{ \
	  result_count $$1 "TOTAL:" $$all   "$$brg"; \
	  result_count $$1 "PASS: " $$pass  "$$grn"; \
	  result_count $$1 "SKIP: " $$skip  "$$blu"; \
	  result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
	  result_count $$1 "FAIL: " $$fail  "$$red"; \
	  result_count $$1 "XPASS:" $$xpass "$$red"; \
	  result_count $$1 "ERROR:" $$error "$$mgn"; \
	}; \
	{								\
	  echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |	\
	    $(am__rst_title);						\
	  create_testsuite_report --no-color;				\
	  echo;								\
	  echo ".. contents:: :depth: 2";				\
	  echo;								\
	  for b in $$bases; do echo $$b; done				\
	    | $(am__create_global_log);					\
	} >$(TEST_SUITE_LOG).tmp || exit 1;				\
	mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);			\
	if $$success; then						\
	  col="$$grn";							\
	 else								\
	  col="$$red";							\
	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\
	fi;								\
	echo "$${col}$$br$${std}"; 					\
	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\
	echo "$${col}$$br$${std}"; 					\
	create_testsuite_report --maybe-color;				\
	echo "$$col$$br$$std";						\
	if $$success; then :; else					\
	  echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";		\
	  if test -n "$(PACKAGE_BUGREPORT)"; then			\
	    echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}";	\
	  fi;								\
	  echo "$$col$$br$$std";					\
	fi;								\
	$$success || exit 1

check-TESTS:
	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
	@set +e; $(am__set_TESTS_bases); \
	log_list=`for i in $$bases; do echo $$i.log; done`; \
	trs_list=`for i in $$bases; do echo $$i.trs; done`; \
	log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
	exit $$?;
recheck: all $(check_PROGRAMS)
	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
	@set +e; $(am__set_TESTS_bases); \
	bases=`for i in $$bases; do echo $$i; done \
	         | $(am__list_recheck_tests)` || exit 1; \
	log_list=`for i in $$bases; do echo $$i.log; done`; \
	log_list=`echo $$log_list`; \
	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
	        am__force_recheck=am--force-recheck \
	        TEST_LOGS="$$log_list"; \
	exit $$?
test_bihash_template.log: test_bihash_template$(EXEEXT)
	@p='test_bihash_template$(EXEEXT)'; \
	b='test_bihash_template'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_elog.log: test_elog$(EXEEXT)
	@p='test_elog$(EXEEXT)'; \
	b='test_elog'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_elf.log: test_elf$(EXEEXT)
	@p='test_elf$(EXEEXT)'; \
	b='test_elf'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_fifo.log: test_fifo$(EXEEXT)
	@p='test_fifo$(EXEEXT)'; \
	b='test_fifo'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_format.log: test_format$(EXEEXT)
	@p='test_format$(EXEEXT)'; \
	b='test_format'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_hash.log: test_hash$(EXEEXT)
	@p='test_hash$(EXEEXT)'; \
	b='test_hash'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_heap.log: test_heap$(EXEEXT)
	@p='test_heap$(EXEEXT)'; \
	b='test_heap'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_longjmp.log: test_longjmp$(EXEEXT)
	@p='test_longjmp$(EXEEXT)'; \
	b='test_longjmp'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_macros.log: test_macros$(EXEEXT)
	@p='test_macros$(EXEEXT)'; \
	b='test_macros'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_md5.log: test_md5$(EXEEXT)
	@p='test_md5$(EXEEXT)'; \
	b='test_md5'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_mheap.log: test_mheap$(EXEEXT)
	@p='test_mheap$(EXEEXT)'; \
	b='test_mheap'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_pfhash.log: test_pfhash$(EXEEXT)
	@p='test_pfhash$(EXEEXT)'; \
	b='test_pfhash'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_phash.log: test_phash$(EXEEXT)
	@p='test_phash$(EXEEXT)'; \
	b='test_phash'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_pool_iterate.log: test_pool_iterate$(EXEEXT)
	@p='test_pool_iterate$(EXEEXT)'; \
	b='test_pool_iterate'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_qhash.log: test_qhash$(EXEEXT)
	@p='test_qhash$(EXEEXT)'; \
	b='test_qhash'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_random.log: test_random$(EXEEXT)
	@p='test_random$(EXEEXT)'; \
	b='test_random'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_random_isaac.log: test_random_isaac$(EXEEXT)
	@p='test_random_isaac$(EXEEXT)'; \
	b='test_random_isaac'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_serialize.log: test_serialize$(EXEEXT)
	@p='test_serialize$(EXEEXT)'; \
	b='test_serialize'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_slist.log: test_slist$(EXEEXT)
	@p='test_slist$(EXEEXT)'; \
	b='test_slist'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_socket.log: test_socket$(EXEEXT)
	@p='test_socket$(EXEEXT)'; \
	b='test_socket'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_time.log: test_time$(EXEEXT)
	@p='test_time$(EXEEXT)'; \
	b='test_time'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_timing_wheel.log: test_timing_wheel$(EXEEXT)
	@p='test_timing_wheel$(EXEEXT)'; \
	b='test_timing_wheel'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_vec.log: test_vec$(EXEEXT)
	@p='test_vec$(EXEEXT)'; \
	b='test_vec'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
test_zvec.log: test_zvec$(EXEEXT)
	@p='test_zvec$(EXEEXT)'; \
	b='test_zvec'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
.test.log:
	@p='$<'; \
	$(am__set_b); \
	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
@am__EXEEXT_TRUE@.test$(EXEEXT).log:
@am__EXEEXT_TRUE@	@p='$<'; \
@am__EXEEXT_TRUE@	$(am__set_b); \
@am__EXEEXT_TRUE@	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
@am__EXEEXT_TRUE@	--log-file $$b.log --trs-file $$b.trs \
@am__EXEEXT_TRUE@	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
@am__EXEEXT_TRUE@	"$$tst" $(AM_TESTS_FD_REDIRECT)

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

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

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

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

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

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

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

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

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

installcheck: installcheck-am
install-strip:
	if test -z '$(STRIP)'; then \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	      install; \
	else \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
	fi
mostlyclean-generic:
	-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
	-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)

clean-generic:

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
	-rm -f vppinfra/$(DEPDIR)/$(am__dirstamp)
	-rm -f vppinfra/$(am__dirstamp)

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

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

distclean: distclean-am
	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
	-rm -rf vppinfra/$(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-nobase_includeHEADERS

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am: install-libLIBRARIES install-libLTLIBRARIES

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

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 vppinfra/$(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-libLIBRARIES uninstall-libLTLIBRARIES \
	uninstall-nobase_includeHEADERS

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

.PHONY: CTAGS GTAGS TAGS all all-am am--refresh check check-TESTS \
	check-am clean clean-checkPROGRAMS clean-cscope clean-generic \
	clean-libLIBRARIES clean-libLTLIBRARIES clean-libtool \
	clean-noinstPROGRAMS cscope cscopelist-am ctags ctags-am dist \
	dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
	dist-xz dist-zip distcheck distclean distclean-compile \
	distclean-generic distclean-hdr distclean-libtool \
	distclean-tags distcleancheck distdir distuninstallcheck dvi \
	dvi-am html html-am info info-am install install-am \
	install-data install-data-am install-dvi install-dvi-am \
	install-exec install-exec-am install-html install-html-am \
	install-info install-info-am install-libLIBRARIES \
	install-libLTLIBRARIES install-man \
	install-nobase_includeHEADERS 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 \
	recheck tags tags-am uninstall uninstall-am \
	uninstall-libLIBRARIES uninstall-libLTLIBRARIES \
	uninstall-nobase_includeHEADERS


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