# 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/autoconf/mkinstalldirs \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/depcomp
subdir = src/system
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(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/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__dirstamp = $(am__leading_dot)dirstamp
am__objects_1 = @top_builddir@/src/system/libSystemLayer_a-SystemError.$(OBJEXT) \
	@top_builddir@/src/system/libSystemLayer_a-SystemFaultInjection.$(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_libSystemLayer_a_OBJECTS = $(am__objects_1)
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/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 = $(libSystemLayer_a_SOURCES)
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_BUILD_DIRECTORY = @BLUEZ_BUILD_DIRECTORY@
BLUEZ_CPPFLAGS = @BLUEZ_CPPFLAGS@
BLUEZ_LDFLAGS = @BLUEZ_LDFLAGS@
BLUEZ_LIBS = @BLUEZ_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CMP = @CMP@
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@
NLFAULTINJECTION_CPPFLAGS = @NLFAULTINJECTION_CPPFLAGS@
NLFAULTINJECTION_LDFLAGS = @NLFAULTINJECTION_LDFLAGS@
NLFAULTINJECTION_LIBS = @NLFAULTINJECTION_LIBS@
NLIO_CPPFLAGS = @NLIO_CPPFLAGS@
NLIO_LDFLAGS = @NLIO_LDFLAGS@
NLIO_LIBS = @NLIO_LIBS@
NLUNITTEST_CPPFLAGS = @NLUNITTEST_CPPFLAGS@
NLUNITTEST_LDFLAGS = @NLUNITTEST_LDFLAGS@
NLUNITTEST_LIBS = @NLUNITTEST_LIBS@
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_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/SystemError.cpp           \
    @top_builddir@/src/system/SystemFaultInjection.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)

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-SystemError.$(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)
@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)

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

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

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:
