# 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) 2014-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 Nest Weave
#      Device Manager library.
#

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@
@WEAVE_BUILD_DEVICE_MANAGER_WITH_DUMMY_PERSISTED_STORE_TRUE@am__append_1 = \
@WEAVE_BUILD_DEVICE_MANAGER_WITH_DUMMY_PERSISTED_STORE_TRUE@    WeavePlatformPersistedStorage.cpp       \
@WEAVE_BUILD_DEVICE_MANAGER_WITH_DUMMY_PERSISTED_STORE_TRUE@    $(NULL)

@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_ENABLE_WOBLE_TEST_TRUE@am__append_2 = \
@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_ENABLE_WOBLE_TEST_TRUE@    -I$(top_srcdir)/src/ble                 \
@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_ENABLE_WOBLE_TEST_TRUE@    $(NULL)

@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_ENABLE_WOBLE_TEST_TRUE@am__append_3 = \
@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_ENABLE_WOBLE_TEST_TRUE@    WoBleTest.cpp                           \
@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_ENABLE_WOBLE_TEST_TRUE@    $(NULL)


#
# The Weave SDK supports either C Standard I/O, Android, or external
# (platform-defined) logging. If we're building with Android, include
# the Android NDK logging library in the Weave Device Manager library.
#
@WEAVE_LOGGING_STYLE_ANDROID_TRUE@@WEAVE_WITH_ANDROID_TRUE@am__append_4 = \
@WEAVE_LOGGING_STYLE_ANDROID_TRUE@@WEAVE_WITH_ANDROID_TRUE@    -llog                                   \
@WEAVE_LOGGING_STYLE_ANDROID_TRUE@@WEAVE_WITH_ANDROID_TRUE@    $(NULL)


# For some unknown reason, including JNI_CPPFLAGS breaks Android.
@WEAVE_WITH_ANDROID_FALSE@@WEAVE_WITH_JAVA_TRUE@am__append_5 = \
@WEAVE_WITH_ANDROID_FALSE@@WEAVE_WITH_JAVA_TRUE@	$(JNI_CPPFLAGS)                     \
@WEAVE_WITH_ANDROID_FALSE@@WEAVE_WITH_JAVA_TRUE@	$(NULL)

@WEAVE_WITH_JAVA_TRUE@am__append_6 = \
@WEAVE_WITH_JAVA_TRUE@    WeaveDeviceManager-JNI.cpp              \
@WEAVE_WITH_JAVA_TRUE@    PairingCodeUtils-JNI.cpp                \
@WEAVE_WITH_JAVA_TRUE@    $(NULL)

@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_WITH_JAVA_TRUE@am__append_7 = \
@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_WITH_JAVA_TRUE@    AndroidBleApplicationDelegate.cpp       \
@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_WITH_JAVA_TRUE@    AndroidBlePlatformDelegate.cpp          \
@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_WITH_JAVA_TRUE@    $(NULL)


# TODO: is this needed???
@WEAVE_WITH_JAVA_TRUE@am__append_8 = \
@WEAVE_WITH_JAVA_TRUE@    -u _Init                                \
@WEAVE_WITH_JAVA_TRUE@    -u _Java_nl_Weave_DeviceManager_WeaveDeviceManager_newDeviceManager \
@WEAVE_WITH_JAVA_TRUE@    -no-undefined                           \
@WEAVE_WITH_JAVA_TRUE@    $(NULL)

subdir = src/device-manager
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/mkinstalldirs \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/depcomp
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)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
am__libWeaveDeviceManager_la_SOURCES_DIST = WeaveDeviceManager.cpp \
	WeavePlatformPersistedStorage.cpp WoBleTest.cpp \
	WeaveDeviceManager-JNI.cpp PairingCodeUtils-JNI.cpp \
	AndroidBleApplicationDelegate.cpp \
	AndroidBlePlatformDelegate.cpp
@WEAVE_BUILD_DEVICE_MANAGER_WITH_DUMMY_PERSISTED_STORE_TRUE@am__objects_1 = libWeaveDeviceManager_la-WeavePlatformPersistedStorage.lo
@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_ENABLE_WOBLE_TEST_TRUE@am__objects_2 = libWeaveDeviceManager_la-WoBleTest.lo
@WEAVE_WITH_JAVA_TRUE@am__objects_3 = libWeaveDeviceManager_la-WeaveDeviceManager-JNI.lo \
@WEAVE_WITH_JAVA_TRUE@	libWeaveDeviceManager_la-PairingCodeUtils-JNI.lo
@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_WITH_JAVA_TRUE@am__objects_4 = libWeaveDeviceManager_la-AndroidBleApplicationDelegate.lo \
@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_WITH_JAVA_TRUE@	libWeaveDeviceManager_la-AndroidBlePlatformDelegate.lo
am_libWeaveDeviceManager_la_OBJECTS =  \
	libWeaveDeviceManager_la-WeaveDeviceManager.lo \
	$(am__objects_1) $(am__objects_2) $(am__objects_3) \
	$(am__objects_4)
libWeaveDeviceManager_la_OBJECTS =  \
	$(am_libWeaveDeviceManager_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 = 
libWeaveDeviceManager_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
	$(libWeaveDeviceManager_la_CXXFLAGS) $(CXXFLAGS) \
	$(libWeaveDeviceManager_la_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo "  GEN     " $@;
am__v_GEN_1 = 
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 = 
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src/include
depcomp = $(SHELL) \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
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 = $(libWeaveDeviceManager_la_SOURCES)
DIST_SOURCES = $(am__libWeaveDeviceManager_la_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_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@
EXTRA_DIST = \
    WeaveDeviceManager.h                    \
    AndroidBleApplicationDelegate.h         \
    AndroidBlePlatformDelegate.h            \
    $(NULL)

lib_LTLIBRARIES = libWeaveDeviceManager.la
libWeaveDeviceManager_la_CPPFLAGS = -I$(top_srcdir)/src/include \
	$(LWIP_CPPFLAGS) $(SOCKETS_CPPFLAGS) $(NULL) $(am__append_2) \
	$(am__append_5)
libWeaveDeviceManager_la_CXXFLAGS = \
    $(PTHREAD_CFLAGS)                       \
    $(NULL)

libWeaveDeviceManager_la_LDFLAGS = $(AM_LDFLAGS) -version-info \
	$(LIBWEAVE_VERSION_INFO) $(NULL) $(am__append_8)
libWeaveDeviceManager_la_SOURCES = WeaveDeviceManager.cpp $(NULL) \
	$(am__append_1) $(am__append_3) $(am__append_6) \
	$(am__append_7)
libWeaveDeviceManager_la_LIBADD = -L$(top_builddir)/src/lib -lWeave \
	$(LWIP_LDFLAGS) $(LWIP_LIBS) $(SOCKETS_LDFLAGS) \
	$(SOCKETS_LIBS) $(PTHREAD_LIBS) $(NULL) $(am__append_4)
libWeaveDeviceManager_la_DEPENDENCIES = \
    $(top_builddir)/src/lib/libWeave.a      \
    $(NULL)

all: all-am

.SUFFIXES:
.SUFFIXES: .cpp .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.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/device-manager/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign src/device-manager/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;

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

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

clean-libLTLIBRARIES:
	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
	@list='$(lib_LTLIBRARIES)'; \
	locs=`for p in $$list; do echo $$p; done | \
	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
	      sort -u`; \
	test -z "$$locs" || { \
	  echo rm -f $${locs}; \
	  rm -f $${locs}; \
	}

libWeaveDeviceManager.la: $(libWeaveDeviceManager_la_OBJECTS) $(libWeaveDeviceManager_la_DEPENDENCIES) $(EXTRA_libWeaveDeviceManager_la_DEPENDENCIES) 
	$(AM_V_CXXLD)$(libWeaveDeviceManager_la_LINK) -rpath $(libdir) $(libWeaveDeviceManager_la_OBJECTS) $(libWeaveDeviceManager_la_LIBADD) $(LIBS)

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

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

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libWeaveDeviceManager_la-AndroidBleApplicationDelegate.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libWeaveDeviceManager_la-AndroidBlePlatformDelegate.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libWeaveDeviceManager_la-PairingCodeUtils-JNI.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libWeaveDeviceManager_la-WeaveDeviceManager-JNI.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libWeaveDeviceManager_la-WeaveDeviceManager.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libWeaveDeviceManager_la-WeavePlatformPersistedStorage.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libWeaveDeviceManager_la-WoBleTest.Plo@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 $@ $<

libWeaveDeviceManager_la-WeaveDeviceManager.lo: WeaveDeviceManager.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libWeaveDeviceManager_la_CPPFLAGS) $(CPPFLAGS) $(libWeaveDeviceManager_la_CXXFLAGS) $(CXXFLAGS) -MT libWeaveDeviceManager_la-WeaveDeviceManager.lo -MD -MP -MF $(DEPDIR)/libWeaveDeviceManager_la-WeaveDeviceManager.Tpo -c -o libWeaveDeviceManager_la-WeaveDeviceManager.lo `test -f 'WeaveDeviceManager.cpp' || echo '$(srcdir)/'`WeaveDeviceManager.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libWeaveDeviceManager_la-WeaveDeviceManager.Tpo $(DEPDIR)/libWeaveDeviceManager_la-WeaveDeviceManager.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='WeaveDeviceManager.cpp' object='libWeaveDeviceManager_la-WeaveDeviceManager.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libWeaveDeviceManager_la_CPPFLAGS) $(CPPFLAGS) $(libWeaveDeviceManager_la_CXXFLAGS) $(CXXFLAGS) -c -o libWeaveDeviceManager_la-WeaveDeviceManager.lo `test -f 'WeaveDeviceManager.cpp' || echo '$(srcdir)/'`WeaveDeviceManager.cpp

libWeaveDeviceManager_la-WeavePlatformPersistedStorage.lo: WeavePlatformPersistedStorage.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libWeaveDeviceManager_la_CPPFLAGS) $(CPPFLAGS) $(libWeaveDeviceManager_la_CXXFLAGS) $(CXXFLAGS) -MT libWeaveDeviceManager_la-WeavePlatformPersistedStorage.lo -MD -MP -MF $(DEPDIR)/libWeaveDeviceManager_la-WeavePlatformPersistedStorage.Tpo -c -o libWeaveDeviceManager_la-WeavePlatformPersistedStorage.lo `test -f 'WeavePlatformPersistedStorage.cpp' || echo '$(srcdir)/'`WeavePlatformPersistedStorage.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libWeaveDeviceManager_la-WeavePlatformPersistedStorage.Tpo $(DEPDIR)/libWeaveDeviceManager_la-WeavePlatformPersistedStorage.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='WeavePlatformPersistedStorage.cpp' object='libWeaveDeviceManager_la-WeavePlatformPersistedStorage.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libWeaveDeviceManager_la_CPPFLAGS) $(CPPFLAGS) $(libWeaveDeviceManager_la_CXXFLAGS) $(CXXFLAGS) -c -o libWeaveDeviceManager_la-WeavePlatformPersistedStorage.lo `test -f 'WeavePlatformPersistedStorage.cpp' || echo '$(srcdir)/'`WeavePlatformPersistedStorage.cpp

libWeaveDeviceManager_la-WoBleTest.lo: WoBleTest.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libWeaveDeviceManager_la_CPPFLAGS) $(CPPFLAGS) $(libWeaveDeviceManager_la_CXXFLAGS) $(CXXFLAGS) -MT libWeaveDeviceManager_la-WoBleTest.lo -MD -MP -MF $(DEPDIR)/libWeaveDeviceManager_la-WoBleTest.Tpo -c -o libWeaveDeviceManager_la-WoBleTest.lo `test -f 'WoBleTest.cpp' || echo '$(srcdir)/'`WoBleTest.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libWeaveDeviceManager_la-WoBleTest.Tpo $(DEPDIR)/libWeaveDeviceManager_la-WoBleTest.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='WoBleTest.cpp' object='libWeaveDeviceManager_la-WoBleTest.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libWeaveDeviceManager_la_CPPFLAGS) $(CPPFLAGS) $(libWeaveDeviceManager_la_CXXFLAGS) $(CXXFLAGS) -c -o libWeaveDeviceManager_la-WoBleTest.lo `test -f 'WoBleTest.cpp' || echo '$(srcdir)/'`WoBleTest.cpp

libWeaveDeviceManager_la-WeaveDeviceManager-JNI.lo: WeaveDeviceManager-JNI.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libWeaveDeviceManager_la_CPPFLAGS) $(CPPFLAGS) $(libWeaveDeviceManager_la_CXXFLAGS) $(CXXFLAGS) -MT libWeaveDeviceManager_la-WeaveDeviceManager-JNI.lo -MD -MP -MF $(DEPDIR)/libWeaveDeviceManager_la-WeaveDeviceManager-JNI.Tpo -c -o libWeaveDeviceManager_la-WeaveDeviceManager-JNI.lo `test -f 'WeaveDeviceManager-JNI.cpp' || echo '$(srcdir)/'`WeaveDeviceManager-JNI.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libWeaveDeviceManager_la-WeaveDeviceManager-JNI.Tpo $(DEPDIR)/libWeaveDeviceManager_la-WeaveDeviceManager-JNI.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='WeaveDeviceManager-JNI.cpp' object='libWeaveDeviceManager_la-WeaveDeviceManager-JNI.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libWeaveDeviceManager_la_CPPFLAGS) $(CPPFLAGS) $(libWeaveDeviceManager_la_CXXFLAGS) $(CXXFLAGS) -c -o libWeaveDeviceManager_la-WeaveDeviceManager-JNI.lo `test -f 'WeaveDeviceManager-JNI.cpp' || echo '$(srcdir)/'`WeaveDeviceManager-JNI.cpp

libWeaveDeviceManager_la-PairingCodeUtils-JNI.lo: PairingCodeUtils-JNI.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libWeaveDeviceManager_la_CPPFLAGS) $(CPPFLAGS) $(libWeaveDeviceManager_la_CXXFLAGS) $(CXXFLAGS) -MT libWeaveDeviceManager_la-PairingCodeUtils-JNI.lo -MD -MP -MF $(DEPDIR)/libWeaveDeviceManager_la-PairingCodeUtils-JNI.Tpo -c -o libWeaveDeviceManager_la-PairingCodeUtils-JNI.lo `test -f 'PairingCodeUtils-JNI.cpp' || echo '$(srcdir)/'`PairingCodeUtils-JNI.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libWeaveDeviceManager_la-PairingCodeUtils-JNI.Tpo $(DEPDIR)/libWeaveDeviceManager_la-PairingCodeUtils-JNI.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='PairingCodeUtils-JNI.cpp' object='libWeaveDeviceManager_la-PairingCodeUtils-JNI.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libWeaveDeviceManager_la_CPPFLAGS) $(CPPFLAGS) $(libWeaveDeviceManager_la_CXXFLAGS) $(CXXFLAGS) -c -o libWeaveDeviceManager_la-PairingCodeUtils-JNI.lo `test -f 'PairingCodeUtils-JNI.cpp' || echo '$(srcdir)/'`PairingCodeUtils-JNI.cpp

libWeaveDeviceManager_la-AndroidBleApplicationDelegate.lo: AndroidBleApplicationDelegate.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libWeaveDeviceManager_la_CPPFLAGS) $(CPPFLAGS) $(libWeaveDeviceManager_la_CXXFLAGS) $(CXXFLAGS) -MT libWeaveDeviceManager_la-AndroidBleApplicationDelegate.lo -MD -MP -MF $(DEPDIR)/libWeaveDeviceManager_la-AndroidBleApplicationDelegate.Tpo -c -o libWeaveDeviceManager_la-AndroidBleApplicationDelegate.lo `test -f 'AndroidBleApplicationDelegate.cpp' || echo '$(srcdir)/'`AndroidBleApplicationDelegate.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libWeaveDeviceManager_la-AndroidBleApplicationDelegate.Tpo $(DEPDIR)/libWeaveDeviceManager_la-AndroidBleApplicationDelegate.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='AndroidBleApplicationDelegate.cpp' object='libWeaveDeviceManager_la-AndroidBleApplicationDelegate.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libWeaveDeviceManager_la_CPPFLAGS) $(CPPFLAGS) $(libWeaveDeviceManager_la_CXXFLAGS) $(CXXFLAGS) -c -o libWeaveDeviceManager_la-AndroidBleApplicationDelegate.lo `test -f 'AndroidBleApplicationDelegate.cpp' || echo '$(srcdir)/'`AndroidBleApplicationDelegate.cpp

libWeaveDeviceManager_la-AndroidBlePlatformDelegate.lo: AndroidBlePlatformDelegate.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libWeaveDeviceManager_la_CPPFLAGS) $(CPPFLAGS) $(libWeaveDeviceManager_la_CXXFLAGS) $(CXXFLAGS) -MT libWeaveDeviceManager_la-AndroidBlePlatformDelegate.lo -MD -MP -MF $(DEPDIR)/libWeaveDeviceManager_la-AndroidBlePlatformDelegate.Tpo -c -o libWeaveDeviceManager_la-AndroidBlePlatformDelegate.lo `test -f 'AndroidBlePlatformDelegate.cpp' || echo '$(srcdir)/'`AndroidBlePlatformDelegate.cpp
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libWeaveDeviceManager_la-AndroidBlePlatformDelegate.Tpo $(DEPDIR)/libWeaveDeviceManager_la-AndroidBlePlatformDelegate.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='AndroidBlePlatformDelegate.cpp' object='libWeaveDeviceManager_la-AndroidBlePlatformDelegate.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libWeaveDeviceManager_la_CPPFLAGS) $(CPPFLAGS) $(libWeaveDeviceManager_la_CXXFLAGS) $(CXXFLAGS) -c -o libWeaveDeviceManager_la-AndroidBlePlatformDelegate.lo `test -f 'AndroidBlePlatformDelegate.cpp' || echo '$(srcdir)/'`AndroidBlePlatformDelegate.cpp

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

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-libLTLIBRARIES clean-libtool \
	mostlyclean-am

distclean: distclean-am
	-rm -rf ./$(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-libLTLIBRARIES

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -rf ./$(DEPDIR)
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-libLTLIBRARIES

.MAKE: install-am install-strip

.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
	clean-libLTLIBRARIES 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-libLTLIBRARIES 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-libLTLIBRARIES


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:
