diff --git a/vppinfra/Makefile.in b/vppinfra/Makefile.in
new file mode 100644
index 0000000..6801be1
--- /dev/null
+++ b/vppinfra/Makefile.in
@@ -0,0 +1,2536 @@
+# 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:
