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

#
#    Copyright (c) 2016-2017 Nest Labs, Inc.
#    All rights reserved.
#
#    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.
#

#
#   Description:
#       This file is the GNU automake template for the Weave system layer.

#
#    Copyright (c) 2016-2017 Nest Labs, Inc.
#    All rights reserved.
#
#    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.
#

#
#   Description:
#       This file is the GNU automake header for the Nest Weave System Layer library sources. These sources are shared by other SDK
#       makefiles and consequently must be anchored relative to the top build directory.
#

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@
target_triplet = @target@
DIST_COMMON = $(srcdir)/SystemLayer.am $(srcdir)/Makefile.in \
	$(srcdir)/Makefile.am \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/mkinstalldirs \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/depcomp
@WEAVE_WITH_NLFAULTINJECTION_TRUE@am__append_1 = @top_builddir@/src/system/SystemFaultInjection.cpp
subdir = src/system
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/ax_check_compiler.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_enable_coverage.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_enable_coverage_reporting.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_enable_debug.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_enable_docs.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_enable_optimization.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_enable_tests.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_enable_werror.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_filtered_canonical.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_prog_lndir.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_werror.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_with_package.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ax_compare_version.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ax_cxx_compile_stdcxx.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ax_cxx_compile_stdcxx_11.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ax_jni_include_dir.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ax_pthread.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/libtool.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ltoptions.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ltsugar.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ltversion.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/lt~obsolete.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/pkg.m4 \
	$(top_srcdir)/build/autoconf/m4/nl_check_project_config_includes.m4 \
	$(top_srcdir)/build/autoconf/m4/nl_enable_long_tests.m4 \
	$(top_srcdir)/build/autoconf/m4/nl_with_lwip.m4 \
	$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/src/include/BuildConfig.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)"
LIBRARIES = $(lib_LIBRARIES)
ARFLAGS = cru
AM_V_AR = $(am__v_AR_@AM_V@)
am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
am__v_AR_0 = @echo "  AR      " $@;
am__v_AR_1 = 
libSystemLayer_a_AR = $(AR) $(ARFLAGS)
libSystemLayer_a_LIBADD =
am__libSystemLayer_a_SOURCES_DIST =  \
	@top_builddir@/src/system/SystemClock.cpp \
	@top_builddir@/src/system/SystemError.cpp \
	@top_builddir@/src/system/SystemLayer.cpp \
	@top_builddir@/src/system/SystemMutex.cpp \
	@top_builddir@/src/system/SystemObject.cpp \
	@top_builddir@/src/system/SystemTimer.cpp \
	@top_builddir@/src/system/SystemPacketBuffer.cpp \
	@top_builddir@/src/system/SystemStats.cpp \
	@top_builddir@/src/system/SystemFaultInjection.cpp
am__dirstamp = $(am__leading_dot)dirstamp
@WEAVE_WITH_NLFAULTINJECTION_TRUE@am__objects_1 = @top_builddir@/src/system/libSystemLayer_a-SystemFaultInjection.$(OBJEXT)
am__objects_2 = @top_builddir@/src/system/libSystemLayer_a-SystemClock.$(OBJEXT) \
	@top_builddir@/src/system/libSystemLayer_a-SystemError.$(OBJEXT) \
	@top_builddir@/src/system/libSystemLayer_a-SystemLayer.$(OBJEXT) \
	@top_builddir@/src/system/libSystemLayer_a-SystemMutex.$(OBJEXT) \
	@top_builddir@/src/system/libSystemLayer_a-SystemObject.$(OBJEXT) \
	@top_builddir@/src/system/libSystemLayer_a-SystemTimer.$(OBJEXT) \
	@top_builddir@/src/system/libSystemLayer_a-SystemPacketBuffer.$(OBJEXT) \
	@top_builddir@/src/system/libSystemLayer_a-SystemStats.$(OBJEXT) \
	$(am__objects_1)
am_libSystemLayer_a_OBJECTS = $(am__objects_2)
libSystemLayer_a_OBJECTS = $(am_libSystemLayer_a_OBJECTS)
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)/src/include
depcomp = $(SHELL) \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
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 = 
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CXXFLAGS) $(CXXFLAGS)
AM_V_CXX = $(am__v_CXX_@AM_V@)
am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
am__v_CXX_0 = @echo "  CXX     " $@;
am__v_CXX_1 = 
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
am__v_CXXLD_0 = @echo "  CXXLD   " $@;
am__v_CXXLD_1 = 
SOURCES = $(libSystemLayer_a_SOURCES)
DIST_SOURCES = $(am__libSystemLayer_a_SOURCES_DIST)
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
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
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BLUEZ_CPPFLAGS = @BLUEZ_CPPFLAGS@
BLUEZ_LDFLAGS = @BLUEZ_LDFLAGS@
BLUEZ_LIBS = @BLUEZ_LIBS@
BLUEZ_SUBDIRS = @BLUEZ_SUBDIRS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CMP = @CMP@
CONFIG_DEVICE_LAYER = @CONFIG_DEVICE_LAYER@
CONFIG_HAVE_HEAP = @CONFIG_HAVE_HEAP@
CONFIG_HAVE_VCBPRINTF = @CONFIG_HAVE_VCBPRINTF@
CONFIG_HAVE_VSNPRINTF_EX = @CONFIG_HAVE_VSNPRINTF_EX@
CONFIG_NETWORK_LAYER_BLE = @CONFIG_NETWORK_LAYER_BLE@
CONFIG_NETWORK_LAYER_INET = @CONFIG_NETWORK_LAYER_INET@
CONFIG_TARGET_NETWORKS = @CONFIG_TARGET_NETWORKS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CROSS_SDK = @CROSS_SDK@
CROSS_SYSROOT = @CROSS_SYSROOT@
CROSS_TOP = @CROSS_TOP@
CURL_CPPFLAGS = @CURL_CPPFLAGS@
CURL_LDFLAGS = @CURL_LDFLAGS@
CURL_LIBS = @CURL_LIBS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DBUS_CFLAGS = @DBUS_CFLAGS@
DBUS_LIBS = @DBUS_LIBS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
DOXYGEN_USE_DOT = @DOXYGEN_USE_DOT@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GENHTML = @GENHTML@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GREP = @GREP@
HAPPY_DNS = @HAPPY_DNS@
HAPPY_PATH = @HAPPY_PATH@
HAPPY_SERVICE = @HAPPY_SERVICE@
HAVE_CXX11 = @HAVE_CXX11@
HAVE_IN6_RTMSG = @HAVE_IN6_RTMSG@
HAVE_LINUX_IF_TUN_H = @HAVE_LINUX_IF_TUN_H@
HAVE_LINUX_IPV6_ROUTE_H = @HAVE_LINUX_IPV6_ROUTE_H@
HAVE_LINUX_ROUTE_H = @HAVE_LINUX_ROUTE_H@
INET_ENDPOINTS = @INET_ENDPOINTS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JAR = @JAR@
JAVAC = @JAVAC@
JAVA_HOME = @JAVA_HOME@
JNI_CPPFLAGS = @JNI_CPPFLAGS@
LCOV = @LCOV@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBWEAVE_VERSION_AGE = @LIBWEAVE_VERSION_AGE@
LIBWEAVE_VERSION_CURRENT = @LIBWEAVE_VERSION_CURRENT@
LIBWEAVE_VERSION_INFO = @LIBWEAVE_VERSION_INFO@
LIBWEAVE_VERSION_REVISION = @LIBWEAVE_VERSION_REVISION@
LIPO = @LIPO@
LNDIR = @LNDIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LWIP_CPPFLAGS = @LWIP_CPPFLAGS@
LWIP_LDFLAGS = @LWIP_LDFLAGS@
LWIP_LIBS = @LWIP_LIBS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NLASSERT_CPPFLAGS = @NLASSERT_CPPFLAGS@
NLASSERT_LDFLAGS = @NLASSERT_LDFLAGS@
NLASSERT_LIBS = @NLASSERT_LIBS@
NLASSERT_SUBDIRS = @NLASSERT_SUBDIRS@
NLFAULTINJECTION_CPPFLAGS = @NLFAULTINJECTION_CPPFLAGS@
NLFAULTINJECTION_LDFLAGS = @NLFAULTINJECTION_LDFLAGS@
NLFAULTINJECTION_LIBS = @NLFAULTINJECTION_LIBS@
NLFAULTINJECTION_SUBDIRS = @NLFAULTINJECTION_SUBDIRS@
NLIO_CPPFLAGS = @NLIO_CPPFLAGS@
NLIO_LDFLAGS = @NLIO_LDFLAGS@
NLIO_LIBS = @NLIO_LIBS@
NLIO_SUBDIRS = @NLIO_SUBDIRS@
NLUNIT_TEST_CPPFLAGS = @NLUNIT_TEST_CPPFLAGS@
NLUNIT_TEST_LDFLAGS = @NLUNIT_TEST_LDFLAGS@
NLUNIT_TEST_LIBS = @NLUNIT_TEST_LIBS@
NLUNIT_TEST_SUBDIRS = @NLUNIT_TEST_SUBDIRS@
NL_PROJECT_CONFIG_INCLUDES = @NL_PROJECT_CONFIG_INCLUDES@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCDEPMODE = @OBJCDEPMODE@
OBJCFLAGS = @OBJCFLAGS@
OBJCOPY = @OBJCOPY@
OBJCXX = @OBJCXX@
OBJCXXCPP = @OBJCXXCPP@
OBJCXXDEPMODE = @OBJCXXDEPMODE@
OBJCXXFLAGS = @OBJCXXFLAGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OPENSSL_CPPFLAGS = @OPENSSL_CPPFLAGS@
OPENSSL_LDFLAGS = @OPENSSL_LDFLAGS@
OPENSSL_LIBS = @OPENSSL_LIBS@
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@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PRETTY_CHECK = @PRETTY_CHECK@
PRETTY_CHECK_ARGS = @PRETTY_CHECK_ARGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SOCKETS_CPPFLAGS = @SOCKETS_CPPFLAGS@
SOCKETS_LDFLAGS = @SOCKETS_LDFLAGS@
SOCKETS_LIBS = @SOCKETS_LIBS@
STRIP = @STRIP@
VERSION = @VERSION@
VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@
VISIBILITY_CXXFLAGS = @VISIBILITY_CXXFLAGS@
VISIBILITY_OBJCFLAGS = @VISIBILITY_OBJCFLAGS@
VISIBILITY_OBJCXXCFLAGS = @VISIBILITY_OBJCXXCFLAGS@
WEAVE_DEVICE_LAYER_TARGET = @WEAVE_DEVICE_LAYER_TARGET@
WEAVE_DEVICE_LAYER_TARGET_ESP32 = @WEAVE_DEVICE_LAYER_TARGET_ESP32@
WEAVE_LOGGING_STYLE = @WEAVE_LOGGING_STYLE@
WEAVE_LOGGING_STYLE_ANDROID = @WEAVE_LOGGING_STYLE_ANDROID@
WEAVE_LOGGING_STYLE_EXTERNAL = @WEAVE_LOGGING_STYLE_EXTERNAL@
WEAVE_LOGGING_STYLE_STDIO = @WEAVE_LOGGING_STYLE_STDIO@
WEAVE_LOGGING_STYLE_STDIO_WEAK = @WEAVE_LOGGING_STYLE_STDIO_WEAK@
WEAVE_OPENSSL_TARGET = @WEAVE_OPENSSL_TARGET@
WEAVE_OPENSSL_TARGET_DEFINES = @WEAVE_OPENSSL_TARGET_DEFINES@
WEAVE_SYSTEM_CONFIG_USE_LWIP = @WEAVE_SYSTEM_CONFIG_USE_LWIP@
WEAVE_SYSTEM_CONFIG_USE_SOCKETS = @WEAVE_SYSTEM_CONFIG_USE_SOCKETS@
WEAVE_TARGET_STYLE = @WEAVE_TARGET_STYLE@
WEAVE_TARGET_STYLE_EMBEDDED = @WEAVE_TARGET_STYLE_EMBEDDED@
WEAVE_TARGET_STYLE_UNIX = @WEAVE_TARGET_STYLE_UNIX@
_ACJNI_JAVAC = @_ACJNI_JAVAC@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_nlbuild_autotools_dir = @abs_top_nlbuild_autotools_dir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
ac_ct_OBJCXX = @ac_ct_OBJCXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
ax_pthread_config = @ax_pthread_config@
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@
nlbuild_autotools_stem = @nlbuild_autotools_stem@
oldincludedir = @oldincludedir@
openssl_buildstem = @openssl_buildstem@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
nl_SystemLayer_sources = @top_builddir@/src/system/SystemClock.cpp \
	@top_builddir@/src/system/SystemError.cpp \
	@top_builddir@/src/system/SystemLayer.cpp \
	@top_builddir@/src/system/SystemMutex.cpp \
	@top_builddir@/src/system/SystemObject.cpp \
	@top_builddir@/src/system/SystemTimer.cpp \
	@top_builddir@/src/system/SystemPacketBuffer.cpp \
	@top_builddir@/src/system/SystemStats.cpp $(NULL) \
	$(am__append_1)
EXTRA_DIST = \
    SystemLayerPrivate.h            \
    $(NULL)

lib_LIBRARIES = libSystemLayer.a
libSystemLayer_a_CPPFLAGS = \
    -I$(top_srcdir)/src/include     \
    -I$(top_srcdir)/src/system      \
    $(LWIP_CPPFLAGS)                \
    $(SOCKETS_CPPFLAGS)             \
    $(NULL)

libSystemLayer_a_SOURCES = $(nl_SystemLayer_sources)
all: all-am

.SUFFIXES:
.SUFFIXES: .cpp .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/SystemLayer.am $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/system/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign src/system/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;
$(srcdir)/SystemLayer.am:

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
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)
@top_builddir@/src/system/$(am__dirstamp):
	@$(MKDIR_P) @top_builddir@/src/system
	@: > @top_builddir@/src/system/$(am__dirstamp)
@top_builddir@/src/system/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) @top_builddir@/src/system/$(DEPDIR)
	@: > @top_builddir@/src/system/$(DEPDIR)/$(am__dirstamp)
@top_builddir@/src/system/libSystemLayer_a-SystemClock.$(OBJEXT):  \
	@top_builddir@/src/system/$(am__dirstamp) \
	@top_builddir@/src/system/$(DEPDIR)/$(am__dirstamp)
@top_builddir@/src/system/libSystemLayer_a-SystemError.$(OBJEXT):  \
	@top_builddir@/src/system/$(am__dirstamp) \
	@top_builddir@/src/system/$(DEPDIR)/$(am__dirstamp)
@top_builddir@/src/system/libSystemLayer_a-SystemLayer.$(OBJEXT):  \
	@top_builddir@/src/system/$(am__dirstamp) \
	@top_builddir@/src/system/$(DEPDIR)/$(am__dirstamp)
@top_builddir@/src/system/libSystemLayer_a-SystemMutex.$(OBJEXT):  \
	@top_builddir@/src/system/$(am__dirstamp) \
	@top_builddir@/src/system/$(DEPDIR)/$(am__dirstamp)
@top_builddir@/src/system/libSystemLayer_a-SystemObject.$(OBJEXT):  \
	@top_builddir@/src/system/$(am__dirstamp) \
	@top_builddir@/src/system/$(DEPDIR)/$(am__dirstamp)
@top_builddir@/src/system/libSystemLayer_a-SystemTimer.$(OBJEXT):  \
	@top_builddir@/src/system/$(am__dirstamp) \
	@top_builddir@/src/system/$(DEPDIR)/$(am__dirstamp)
@top_builddir@/src/system/libSystemLayer_a-SystemPacketBuffer.$(OBJEXT):  \
	@top_builddir@/src/system/$(am__dirstamp) \
	@top_builddir@/src/system/$(DEPDIR)/$(am__dirstamp)
@top_builddir@/src/system/libSystemLayer_a-SystemStats.$(OBJEXT):  \
	@top_builddir@/src/system/$(am__dirstamp) \
	@top_builddir@/src/system/$(DEPDIR)/$(am__dirstamp)
@top_builddir@/src/system/libSystemLayer_a-SystemFaultInjection.$(OBJEXT):  \
	@top_builddir@/src/system/$(am__dirstamp) \
	@top_builddir@/src/system/$(DEPDIR)/$(am__dirstamp)

libSystemLayer.a: $(libSystemLayer_a_OBJECTS) $(libSystemLayer_a_DEPENDENCIES) $(EXTRA_libSystemLayer_a_DEPENDENCIES) 
	$(AM_V_at)-rm -f libSystemLayer.a
	$(AM_V_AR)$(libSystemLayer_a_AR) libSystemLayer.a $(libSystemLayer_a_OBJECTS) $(libSystemLayer_a_LIBADD)
	$(AM_V_at)$(RANLIB) libSystemLayer.a

mostlyclean-compile:
	-rm -f *.$(OBJEXT)
	-rm -f @top_builddir@/src/system/*.$(OBJEXT)

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

@AMDEP_TRUE@@am__include@ @am__quote@@top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemClock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemError.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemFaultInjection.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemLayer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemMutex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemObject.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemPacketBuffer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemStats.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemTimer.Po@am__quote@

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

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

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

@top_builddir@/src/system/libSystemLayer_a-SystemClock.o: @top_builddir@/src/system/SystemClock.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemClock.o -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemClock.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemClock.o `test -f '@top_builddir@/src/system/SystemClock.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemClock.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemClock.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemClock.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemClock.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemClock.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemClock.o `test -f '@top_builddir@/src/system/SystemClock.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemClock.cpp

@top_builddir@/src/system/libSystemLayer_a-SystemClock.obj: @top_builddir@/src/system/SystemClock.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemClock.obj -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemClock.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemClock.obj `if test -f '@top_builddir@/src/system/SystemClock.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemClock.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemClock.cpp'; fi`
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemClock.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemClock.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemClock.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemClock.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemClock.obj `if test -f '@top_builddir@/src/system/SystemClock.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemClock.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemClock.cpp'; fi`

@top_builddir@/src/system/libSystemLayer_a-SystemError.o: @top_builddir@/src/system/SystemError.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemError.o -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemError.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemError.o `test -f '@top_builddir@/src/system/SystemError.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemError.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemError.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemError.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemError.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemError.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemError.o `test -f '@top_builddir@/src/system/SystemError.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemError.cpp

@top_builddir@/src/system/libSystemLayer_a-SystemError.obj: @top_builddir@/src/system/SystemError.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemError.obj -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemError.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemError.obj `if test -f '@top_builddir@/src/system/SystemError.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemError.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemError.cpp'; fi`
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemError.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemError.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemError.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemError.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemError.obj `if test -f '@top_builddir@/src/system/SystemError.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemError.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemError.cpp'; fi`

@top_builddir@/src/system/libSystemLayer_a-SystemLayer.o: @top_builddir@/src/system/SystemLayer.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemLayer.o -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemLayer.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemLayer.o `test -f '@top_builddir@/src/system/SystemLayer.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemLayer.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemLayer.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemLayer.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemLayer.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemLayer.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemLayer.o `test -f '@top_builddir@/src/system/SystemLayer.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemLayer.cpp

@top_builddir@/src/system/libSystemLayer_a-SystemLayer.obj: @top_builddir@/src/system/SystemLayer.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemLayer.obj -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemLayer.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemLayer.obj `if test -f '@top_builddir@/src/system/SystemLayer.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemLayer.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemLayer.cpp'; fi`
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemLayer.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemLayer.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemLayer.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemLayer.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemLayer.obj `if test -f '@top_builddir@/src/system/SystemLayer.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemLayer.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemLayer.cpp'; fi`

@top_builddir@/src/system/libSystemLayer_a-SystemMutex.o: @top_builddir@/src/system/SystemMutex.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemMutex.o -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemMutex.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemMutex.o `test -f '@top_builddir@/src/system/SystemMutex.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemMutex.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemMutex.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemMutex.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemMutex.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemMutex.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemMutex.o `test -f '@top_builddir@/src/system/SystemMutex.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemMutex.cpp

@top_builddir@/src/system/libSystemLayer_a-SystemMutex.obj: @top_builddir@/src/system/SystemMutex.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemMutex.obj -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemMutex.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemMutex.obj `if test -f '@top_builddir@/src/system/SystemMutex.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemMutex.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemMutex.cpp'; fi`
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemMutex.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemMutex.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemMutex.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemMutex.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemMutex.obj `if test -f '@top_builddir@/src/system/SystemMutex.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemMutex.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemMutex.cpp'; fi`

@top_builddir@/src/system/libSystemLayer_a-SystemObject.o: @top_builddir@/src/system/SystemObject.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemObject.o -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemObject.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemObject.o `test -f '@top_builddir@/src/system/SystemObject.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemObject.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemObject.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemObject.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemObject.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemObject.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemObject.o `test -f '@top_builddir@/src/system/SystemObject.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemObject.cpp

@top_builddir@/src/system/libSystemLayer_a-SystemObject.obj: @top_builddir@/src/system/SystemObject.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemObject.obj -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemObject.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemObject.obj `if test -f '@top_builddir@/src/system/SystemObject.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemObject.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemObject.cpp'; fi`
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemObject.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemObject.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemObject.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemObject.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemObject.obj `if test -f '@top_builddir@/src/system/SystemObject.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemObject.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemObject.cpp'; fi`

@top_builddir@/src/system/libSystemLayer_a-SystemTimer.o: @top_builddir@/src/system/SystemTimer.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemTimer.o -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemTimer.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemTimer.o `test -f '@top_builddir@/src/system/SystemTimer.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemTimer.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemTimer.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemTimer.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemTimer.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemTimer.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemTimer.o `test -f '@top_builddir@/src/system/SystemTimer.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemTimer.cpp

@top_builddir@/src/system/libSystemLayer_a-SystemTimer.obj: @top_builddir@/src/system/SystemTimer.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemTimer.obj -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemTimer.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemTimer.obj `if test -f '@top_builddir@/src/system/SystemTimer.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemTimer.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemTimer.cpp'; fi`
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemTimer.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemTimer.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemTimer.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemTimer.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemTimer.obj `if test -f '@top_builddir@/src/system/SystemTimer.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemTimer.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemTimer.cpp'; fi`

@top_builddir@/src/system/libSystemLayer_a-SystemPacketBuffer.o: @top_builddir@/src/system/SystemPacketBuffer.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemPacketBuffer.o -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemPacketBuffer.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemPacketBuffer.o `test -f '@top_builddir@/src/system/SystemPacketBuffer.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemPacketBuffer.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemPacketBuffer.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemPacketBuffer.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemPacketBuffer.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemPacketBuffer.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemPacketBuffer.o `test -f '@top_builddir@/src/system/SystemPacketBuffer.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemPacketBuffer.cpp

@top_builddir@/src/system/libSystemLayer_a-SystemPacketBuffer.obj: @top_builddir@/src/system/SystemPacketBuffer.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemPacketBuffer.obj -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemPacketBuffer.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemPacketBuffer.obj `if test -f '@top_builddir@/src/system/SystemPacketBuffer.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemPacketBuffer.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemPacketBuffer.cpp'; fi`
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemPacketBuffer.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemPacketBuffer.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemPacketBuffer.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemPacketBuffer.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemPacketBuffer.obj `if test -f '@top_builddir@/src/system/SystemPacketBuffer.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemPacketBuffer.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemPacketBuffer.cpp'; fi`

@top_builddir@/src/system/libSystemLayer_a-SystemStats.o: @top_builddir@/src/system/SystemStats.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemStats.o -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemStats.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemStats.o `test -f '@top_builddir@/src/system/SystemStats.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemStats.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemStats.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemStats.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemStats.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemStats.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemStats.o `test -f '@top_builddir@/src/system/SystemStats.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemStats.cpp

@top_builddir@/src/system/libSystemLayer_a-SystemStats.obj: @top_builddir@/src/system/SystemStats.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemStats.obj -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemStats.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemStats.obj `if test -f '@top_builddir@/src/system/SystemStats.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemStats.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemStats.cpp'; fi`
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemStats.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemStats.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemStats.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemStats.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemStats.obj `if test -f '@top_builddir@/src/system/SystemStats.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemStats.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemStats.cpp'; fi`

@top_builddir@/src/system/libSystemLayer_a-SystemFaultInjection.o: @top_builddir@/src/system/SystemFaultInjection.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemFaultInjection.o -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemFaultInjection.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemFaultInjection.o `test -f '@top_builddir@/src/system/SystemFaultInjection.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemFaultInjection.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemFaultInjection.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemFaultInjection.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemFaultInjection.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemFaultInjection.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemFaultInjection.o `test -f '@top_builddir@/src/system/SystemFaultInjection.cpp' || echo '$(srcdir)/'`@top_builddir@/src/system/SystemFaultInjection.cpp

@top_builddir@/src/system/libSystemLayer_a-SystemFaultInjection.obj: @top_builddir@/src/system/SystemFaultInjection.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT @top_builddir@/src/system/libSystemLayer_a-SystemFaultInjection.obj -MD -MP -MF @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemFaultInjection.Tpo -c -o @top_builddir@/src/system/libSystemLayer_a-SystemFaultInjection.obj `if test -f '@top_builddir@/src/system/SystemFaultInjection.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemFaultInjection.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemFaultInjection.cpp'; fi`
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemFaultInjection.Tpo @top_builddir@/src/system/$(DEPDIR)/libSystemLayer_a-SystemFaultInjection.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='@top_builddir@/src/system/SystemFaultInjection.cpp' object='@top_builddir@/src/system/libSystemLayer_a-SystemFaultInjection.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libSystemLayer_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o @top_builddir@/src/system/libSystemLayer_a-SystemFaultInjection.obj `if test -f '@top_builddir@/src/system/SystemFaultInjection.cpp'; then $(CYGPATH_W) '@top_builddir@/src/system/SystemFaultInjection.cpp'; else $(CYGPATH_W) '$(srcdir)/@top_builddir@/src/system/SystemFaultInjection.cpp'; fi`

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

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

distdir: $(DISTFILES)
	@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
check-am: all-am
check: check-am
all-am: Makefile $(LIBRARIES)
installdirs:
	for dir in "$(DESTDIR)$(libdir)"; do \
	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
	done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

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

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

clean-generic:

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
	-rm -f @top_builddir@/src/system/$(DEPDIR)/$(am__dirstamp)
	-rm -f @top_builddir@/src/system/$(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-generic clean-libLIBRARIES clean-libtool \
	mostlyclean-am

distclean: distclean-am
	-rm -rf @top_builddir@/src/system/$(DEPDIR)
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am:

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am: install-libLIBRARIES

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 -rf @top_builddir@/src/system/$(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

.MAKE: install-am install-strip

.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
	clean-libLIBRARIES clean-libtool cscopelist-am ctags ctags-am \
	distclean distclean-compile distclean-generic \
	distclean-libtool distclean-tags distdir 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-man install-pdf \
	install-pdf-am install-ps install-ps-am install-strip \
	installcheck installcheck-am installdirs maintainer-clean \
	maintainer-clean-generic mostlyclean mostlyclean-compile \
	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
	tags tags-am uninstall uninstall-am uninstall-libLIBRARIES


include $(abs_top_nlbuild_autotools_dir)/automake/pre.am

include $(abs_top_nlbuild_autotools_dir)/automake/post.am

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