# 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 Weave public
#      headers, which ensures that a linked shadow set of such headers
#      is always available before building the source such that the in-
#      tree source FOR the SDK can compile against public headers exactly
#      as out-of-tree source AGAINST the SDK would.
#

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@
@INET_WANT_ENDPOINT_DNS_TRUE@am__append_1 = $(nl_public_InetLayer_source_dirstem)/DNSResolver.h
@INET_WANT_ENDPOINT_RAW_TRUE@am__append_2 = $(nl_public_InetLayer_source_dirstem)/RawEndPoint.h
@INET_WANT_ENDPOINT_TCP_TRUE@am__append_3 = $(nl_public_InetLayer_source_dirstem)/TCPEndPoint.h
@INET_WANT_ENDPOINT_UDP_TRUE@am__append_4 = $(nl_public_InetLayer_source_dirstem)/UDPEndPoint.h
@INET_WANT_ENDPOINT_TUN_TRUE@am__append_5 = $(nl_public_InetLayer_source_dirstem)/TunEndPoint.h
@INET_CONFIG_ENABLE_ASYNC_DNS_SOCKETS_TRUE@@INET_WANT_ENDPOINT_DNS_TRUE@@WEAVE_SYSTEM_CONFIG_USE_SOCKETS_TRUE@am__append_6 = $(nl_public_InetLayer_source_dirstem)/AsyncDNSResolverSockets.h
@CONFIG_BLE_PLATFORM_BLUEZ_TRUE@@CONFIG_NETWORK_LAYER_BLE_TRUE@am__append_7 = \
@CONFIG_BLE_PLATFORM_BLUEZ_TRUE@@CONFIG_NETWORK_LAYER_BLE_TRUE@$(platform_ble_bluez_public_source_dirstem)/BluezBleApplicationDelegate.h \
@CONFIG_BLE_PLATFORM_BLUEZ_TRUE@@CONFIG_NETWORK_LAYER_BLE_TRUE@$(platform_ble_bluez_public_source_dirstem)/BluezBlePlatformDelegate.h \
@CONFIG_BLE_PLATFORM_BLUEZ_TRUE@@CONFIG_NETWORK_LAYER_BLE_TRUE@$(platform_ble_bluez_public_source_dirstem)/WoBluezLayer.h \
@CONFIG_BLE_PLATFORM_BLUEZ_TRUE@@CONFIG_NETWORK_LAYER_BLE_TRUE@$(NULL)

@WEAVE_BUILD_LEGACY_WDM_TRUE@am__append_8 = \
@WEAVE_BUILD_LEGACY_WDM_TRUE@$(nl_public_WeaveProfiles_data_management_legacy_header_sources) \
@WEAVE_BUILD_LEGACY_WDM_TRUE@$(NULL)

subdir = src/include
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
	$(srcdir)/BuildConfig.h.in \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/mkinstalldirs \
	$(dist_ble_ble_HEADERS) $(dist_ble_device_manager_HEADERS) \
	$(dist_inet_HEADERS) $(dist_micro_ecc_HEADERS) \
	$(dist_mincrypt_HEADERS) $(dist_platform_ble_bluez_HEADERS) \
	$(dist_system_HEADERS) $(dist_warm_HEADERS) \
	$(dist_weave_HEADERS) $(dist_weave_common_HEADERS) \
	$(dist_weave_core_HEADERS) \
	$(am__dist_weave_device_layer_base_HEADERS_DIST) \
	$(am__dist_weave_device_layer_freertos_HEADERS_DIST) \
	$(am__dist_weave_device_layer_internal_HEADERS_DIST) \
	$(am__dist_weave_device_layer_target_HEADERS_DIST) \
	$(dist_weave_support_base_HEADERS) \
	$(dist_weave_support_crypto_HEADERS) \
	$(dist_weave_support_logging_HEADERS) \
	$(dist_weave_support_pairing_code_HEADERS) \
	$(dist_weave_support_platform_HEADERS) \
	$(dist_weave_support_verhoeff_HEADERS) $(include_HEADERS) \
	$(weave_profiles_base_HEADERS) \
	$(weave_profiles_bulk_data_transfer_HEADERS) \
	$(weave_profiles_bulk_data_transfer_current_HEADERS) \
	$(weave_profiles_bulk_data_transfer_development_HEADERS) \
	$(weave_profiles_common_HEADERS) \
	$(weave_profiles_data_management_HEADERS) \
	$(weave_profiles_data_management_current_HEADERS) \
	$(weave_profiles_data_management_legacy_HEADERS) \
	$(weave_profiles_device_control_HEADERS) \
	$(weave_profiles_device_description_HEADERS) \
	$(weave_profiles_echo_HEADERS) \
	$(weave_profiles_echo_current_HEADERS) \
	$(weave_profiles_echo_next_HEADERS) \
	$(weave_profiles_fabric_provisioning_HEADERS) \
	$(weave_profiles_heartbeat_HEADERS) \
	$(weave_profiles_locale_HEADERS) \
	$(weave_profiles_nestlabs_boiler_HEADERS) \
	$(weave_profiles_nestlabs_device_description_HEADERS) \
	$(weave_profiles_nestlabs_domestic_hot_water_HEADERS) \
	$(weave_profiles_nestlabs_dropcam_legacy_pairing_HEADERS) \
	$(weave_profiles_nestlabs_heat_link_HEADERS) \
	$(weave_profiles_nestlabs_hvac_equipment_control_HEADERS) \
	$(weave_profiles_nestlabs_protect_HEADERS) \
	$(weave_profiles_nestlabs_thermostat_HEADERS) \
	$(weave_profiles_nestlabs_time_variant_data_HEADERS) \
	$(weave_profiles_network_provisioning_HEADERS) \
	$(weave_profiles_security_HEADERS) \
	$(weave_profiles_service_directory_HEADERS) \
	$(weave_profiles_service_provisioning_HEADERS) \
	$(weave_profiles_software_update_HEADERS) \
	$(weave_profiles_status_report_HEADERS) \
	$(weave_profiles_time_HEADERS) \
	$(weave_profiles_token_pairing_HEADERS) \
	$(weave_profiles_weave_tunneling_HEADERS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/ax_check_compiler.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_enable_coverage.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_enable_coverage_reporting.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_enable_debug.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_enable_docs.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_enable_optimization.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_enable_tests.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_enable_werror.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_filtered_canonical.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_prog_lndir.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_werror.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/autoconf/m4/nl_with_package.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ax_compare_version.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ax_cxx_compile_stdcxx.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ax_cxx_compile_stdcxx_11.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ax_jni_include_dir.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ax_pthread.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/libtool.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ltoptions.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ltsugar.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/ltversion.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/lt~obsolete.m4 \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/m4/pkg.m4 \
	$(top_srcdir)/build/autoconf/m4/nl_check_project_config_includes.m4 \
	$(top_srcdir)/build/autoconf/m4/nl_enable_long_tests.m4 \
	$(top_srcdir)/build/autoconf/m4/nl_with_lwip.m4 \
	$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) \
	$(top_srcdir)/third_party/nlbuild-autotools/repo/third_party/autoconf/mkinstalldirs
CONFIG_HEADER = BuildConfig.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
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 = 
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
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)$(ble_bledir)" \
	"$(DESTDIR)$(ble_device_managerdir)" "$(DESTDIR)$(inetdir)" \
	"$(DESTDIR)$(micro_eccdir)" "$(DESTDIR)$(mincryptdir)" \
	"$(DESTDIR)$(platform_ble_bluezdir)" "$(DESTDIR)$(systemdir)" \
	"$(DESTDIR)$(warmdir)" "$(DESTDIR)$(weavedir)" \
	"$(DESTDIR)$(weave_commondir)" "$(DESTDIR)$(weave_coredir)" \
	"$(DESTDIR)$(weave_device_layer_basedir)" \
	"$(DESTDIR)$(weave_device_layer_freertosdir)" \
	"$(DESTDIR)$(weave_device_layer_internaldir)" \
	"$(DESTDIR)$(weave_device_layer_targetdir)" \
	"$(DESTDIR)$(weave_support_basedir)" \
	"$(DESTDIR)$(weave_support_cryptodir)" \
	"$(DESTDIR)$(weave_support_loggingdir)" \
	"$(DESTDIR)$(weave_support_pairing_codedir)" \
	"$(DESTDIR)$(weave_support_platformdir)" \
	"$(DESTDIR)$(weave_support_verhoeffdir)" \
	"$(DESTDIR)$(includedir)" \
	"$(DESTDIR)$(weave_profiles_basedir)" \
	"$(DESTDIR)$(weave_profiles_bulk_data_transferdir)" \
	"$(DESTDIR)$(weave_profiles_bulk_data_transfer_currentdir)" \
	"$(DESTDIR)$(weave_profiles_bulk_data_transfer_developmentdir)" \
	"$(DESTDIR)$(weave_profiles_commondir)" \
	"$(DESTDIR)$(weave_profiles_data_managementdir)" \
	"$(DESTDIR)$(weave_profiles_data_management_currentdir)" \
	"$(DESTDIR)$(weave_profiles_data_management_legacydir)" \
	"$(DESTDIR)$(weave_profiles_device_controldir)" \
	"$(DESTDIR)$(weave_profiles_device_descriptiondir)" \
	"$(DESTDIR)$(weave_profiles_echodir)" \
	"$(DESTDIR)$(weave_profiles_echo_currentdir)" \
	"$(DESTDIR)$(weave_profiles_echo_nextdir)" \
	"$(DESTDIR)$(weave_profiles_fabric_provisioningdir)" \
	"$(DESTDIR)$(weave_profiles_heartbeatdir)" \
	"$(DESTDIR)$(weave_profiles_localedir)" \
	"$(DESTDIR)$(weave_profiles_nestlabs_boilerdir)" \
	"$(DESTDIR)$(weave_profiles_nestlabs_device_descriptiondir)" \
	"$(DESTDIR)$(weave_profiles_nestlabs_domestic_hot_waterdir)" \
	"$(DESTDIR)$(weave_profiles_nestlabs_dropcam_legacy_pairingdir)" \
	"$(DESTDIR)$(weave_profiles_nestlabs_heat_linkdir)" \
	"$(DESTDIR)$(weave_profiles_nestlabs_hvac_equipment_controldir)" \
	"$(DESTDIR)$(weave_profiles_nestlabs_protectdir)" \
	"$(DESTDIR)$(weave_profiles_nestlabs_thermostatdir)" \
	"$(DESTDIR)$(weave_profiles_nestlabs_time_variant_datadir)" \
	"$(DESTDIR)$(weave_profiles_network_provisioningdir)" \
	"$(DESTDIR)$(weave_profiles_securitydir)" \
	"$(DESTDIR)$(weave_profiles_service_directorydir)" \
	"$(DESTDIR)$(weave_profiles_service_provisioningdir)" \
	"$(DESTDIR)$(weave_profiles_software_updatedir)" \
	"$(DESTDIR)$(weave_profiles_status_reportdir)" \
	"$(DESTDIR)$(weave_profiles_timedir)" \
	"$(DESTDIR)$(weave_profiles_token_pairingdir)" \
	"$(DESTDIR)$(weave_profiles_weave_tunnelingdir)"
am__dist_weave_device_layer_base_HEADERS_DIST = $(addprefix \
	../,$(nl_public_WeaveDeviceLayer_base_header_sources))
am__dist_weave_device_layer_freertos_HEADERS_DIST = $(addprefix \
	../,$(nl_public_WeaveDeviceLayer_target_header_sources))
am__dist_weave_device_layer_internal_HEADERS_DIST = $(addprefix \
	../,$(nl_public_WeaveDeviceLayer_internal_header_sources))
am__dist_weave_device_layer_target_HEADERS_DIST = $(addprefix \
	../,$(nl_public_WeaveDeviceLayer_target_header_sources))
HEADERS = $(dist_ble_ble_HEADERS) $(dist_ble_device_manager_HEADERS) \
	$(dist_inet_HEADERS) $(dist_micro_ecc_HEADERS) \
	$(dist_mincrypt_HEADERS) $(dist_platform_ble_bluez_HEADERS) \
	$(dist_system_HEADERS) $(dist_warm_HEADERS) \
	$(dist_weave_HEADERS) $(dist_weave_common_HEADERS) \
	$(dist_weave_core_HEADERS) \
	$(dist_weave_device_layer_base_HEADERS) \
	$(dist_weave_device_layer_freertos_HEADERS) \
	$(dist_weave_device_layer_internal_HEADERS) \
	$(dist_weave_device_layer_target_HEADERS) \
	$(dist_weave_support_base_HEADERS) \
	$(dist_weave_support_crypto_HEADERS) \
	$(dist_weave_support_logging_HEADERS) \
	$(dist_weave_support_pairing_code_HEADERS) \
	$(dist_weave_support_platform_HEADERS) \
	$(dist_weave_support_verhoeff_HEADERS) $(include_HEADERS) \
	$(weave_profiles_base_HEADERS) \
	$(weave_profiles_bulk_data_transfer_HEADERS) \
	$(weave_profiles_bulk_data_transfer_current_HEADERS) \
	$(weave_profiles_bulk_data_transfer_development_HEADERS) \
	$(weave_profiles_common_HEADERS) \
	$(weave_profiles_data_management_HEADERS) \
	$(weave_profiles_data_management_current_HEADERS) \
	$(weave_profiles_data_management_legacy_HEADERS) \
	$(weave_profiles_device_control_HEADERS) \
	$(weave_profiles_device_description_HEADERS) \
	$(weave_profiles_echo_HEADERS) \
	$(weave_profiles_echo_current_HEADERS) \
	$(weave_profiles_echo_next_HEADERS) \
	$(weave_profiles_fabric_provisioning_HEADERS) \
	$(weave_profiles_heartbeat_HEADERS) \
	$(weave_profiles_locale_HEADERS) \
	$(weave_profiles_nestlabs_boiler_HEADERS) \
	$(weave_profiles_nestlabs_device_description_HEADERS) \
	$(weave_profiles_nestlabs_domestic_hot_water_HEADERS) \
	$(weave_profiles_nestlabs_dropcam_legacy_pairing_HEADERS) \
	$(weave_profiles_nestlabs_heat_link_HEADERS) \
	$(weave_profiles_nestlabs_hvac_equipment_control_HEADERS) \
	$(weave_profiles_nestlabs_protect_HEADERS) \
	$(weave_profiles_nestlabs_thermostat_HEADERS) \
	$(weave_profiles_nestlabs_time_variant_data_HEADERS) \
	$(weave_profiles_network_provisioning_HEADERS) \
	$(weave_profiles_security_HEADERS) \
	$(weave_profiles_service_directory_HEADERS) \
	$(weave_profiles_service_provisioning_HEADERS) \
	$(weave_profiles_software_update_HEADERS) \
	$(weave_profiles_status_report_HEADERS) \
	$(weave_profiles_time_HEADERS) \
	$(weave_profiles_token_pairing_HEADERS) \
	$(weave_profiles_weave_tunneling_HEADERS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
	$(LISP)BuildConfig.h.in
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates.  Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
  BEGIN { nonempty = 0; } \
  { items[$$0] = 1; nonempty = 1; } \
  END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique.  This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
  list='$(am__tagged_files)'; \
  unique=`for i in $$list; do \
    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BLUEZ_CPPFLAGS = @BLUEZ_CPPFLAGS@
BLUEZ_LDFLAGS = @BLUEZ_LDFLAGS@
BLUEZ_LIBS = @BLUEZ_LIBS@
BLUEZ_SUBDIRS = @BLUEZ_SUBDIRS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CMP = @CMP@
CONFIG_DEVICE_LAYER = @CONFIG_DEVICE_LAYER@
CONFIG_HAVE_HEAP = @CONFIG_HAVE_HEAP@
CONFIG_HAVE_VCBPRINTF = @CONFIG_HAVE_VCBPRINTF@
CONFIG_HAVE_VSNPRINTF_EX = @CONFIG_HAVE_VSNPRINTF_EX@
CONFIG_NETWORK_LAYER_BLE = @CONFIG_NETWORK_LAYER_BLE@
CONFIG_NETWORK_LAYER_INET = @CONFIG_NETWORK_LAYER_INET@
CONFIG_TARGET_NETWORKS = @CONFIG_TARGET_NETWORKS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CROSS_SDK = @CROSS_SDK@
CROSS_SYSROOT = @CROSS_SYSROOT@
CROSS_TOP = @CROSS_TOP@
CURL_CPPFLAGS = @CURL_CPPFLAGS@
CURL_LDFLAGS = @CURL_LDFLAGS@
CURL_LIBS = @CURL_LIBS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DBUS_CFLAGS = @DBUS_CFLAGS@
DBUS_LIBS = @DBUS_LIBS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
DOXYGEN_USE_DOT = @DOXYGEN_USE_DOT@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GENHTML = @GENHTML@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GREP = @GREP@
HAPPY_DNS = @HAPPY_DNS@
HAPPY_PATH = @HAPPY_PATH@
HAPPY_SERVICE = @HAPPY_SERVICE@
HAVE_CXX11 = @HAVE_CXX11@
HAVE_IN6_RTMSG = @HAVE_IN6_RTMSG@
HAVE_LINUX_IF_TUN_H = @HAVE_LINUX_IF_TUN_H@
HAVE_LINUX_IPV6_ROUTE_H = @HAVE_LINUX_IPV6_ROUTE_H@
HAVE_LINUX_ROUTE_H = @HAVE_LINUX_ROUTE_H@
INET_ENDPOINTS = @INET_ENDPOINTS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JAR = @JAR@
JAVAC = @JAVAC@
JAVA_HOME = @JAVA_HOME@
JNI_CPPFLAGS = @JNI_CPPFLAGS@
LCOV = @LCOV@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBWEAVE_VERSION_AGE = @LIBWEAVE_VERSION_AGE@
LIBWEAVE_VERSION_CURRENT = @LIBWEAVE_VERSION_CURRENT@
LIBWEAVE_VERSION_INFO = @LIBWEAVE_VERSION_INFO@
LIBWEAVE_VERSION_REVISION = @LIBWEAVE_VERSION_REVISION@
LIPO = @LIPO@
LNDIR = @LNDIR@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LWIP_CPPFLAGS = @LWIP_CPPFLAGS@
LWIP_LDFLAGS = @LWIP_LDFLAGS@
LWIP_LIBS = @LWIP_LIBS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NLASSERT_CPPFLAGS = @NLASSERT_CPPFLAGS@
NLASSERT_LDFLAGS = @NLASSERT_LDFLAGS@
NLASSERT_LIBS = @NLASSERT_LIBS@
NLASSERT_SUBDIRS = @NLASSERT_SUBDIRS@
NLFAULTINJECTION_CPPFLAGS = @NLFAULTINJECTION_CPPFLAGS@
NLFAULTINJECTION_LDFLAGS = @NLFAULTINJECTION_LDFLAGS@
NLFAULTINJECTION_LIBS = @NLFAULTINJECTION_LIBS@
NLFAULTINJECTION_SUBDIRS = @NLFAULTINJECTION_SUBDIRS@
NLIO_CPPFLAGS = @NLIO_CPPFLAGS@
NLIO_LDFLAGS = @NLIO_LDFLAGS@
NLIO_LIBS = @NLIO_LIBS@
NLIO_SUBDIRS = @NLIO_SUBDIRS@
NLUNIT_TEST_CPPFLAGS = @NLUNIT_TEST_CPPFLAGS@
NLUNIT_TEST_LDFLAGS = @NLUNIT_TEST_LDFLAGS@
NLUNIT_TEST_LIBS = @NLUNIT_TEST_LIBS@
NLUNIT_TEST_SUBDIRS = @NLUNIT_TEST_SUBDIRS@
NL_PROJECT_CONFIG_INCLUDES = @NL_PROJECT_CONFIG_INCLUDES@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCDEPMODE = @OBJCDEPMODE@
OBJCFLAGS = @OBJCFLAGS@
OBJCOPY = @OBJCOPY@
OBJCXX = @OBJCXX@
OBJCXXCPP = @OBJCXXCPP@
OBJCXXDEPMODE = @OBJCXXDEPMODE@
OBJCXXFLAGS = @OBJCXXFLAGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OPENSSL_CPPFLAGS = @OPENSSL_CPPFLAGS@
OPENSSL_LDFLAGS = @OPENSSL_LDFLAGS@
OPENSSL_LIBS = @OPENSSL_LIBS@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PRETTY_CHECK = @PRETTY_CHECK@
PRETTY_CHECK_ARGS = @PRETTY_CHECK_ARGS@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SOCKETS_CPPFLAGS = @SOCKETS_CPPFLAGS@
SOCKETS_LDFLAGS = @SOCKETS_LDFLAGS@
SOCKETS_LIBS = @SOCKETS_LIBS@
STRIP = @STRIP@
VERSION = @VERSION@
VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@
VISIBILITY_CXXFLAGS = @VISIBILITY_CXXFLAGS@
VISIBILITY_OBJCFLAGS = @VISIBILITY_OBJCFLAGS@
VISIBILITY_OBJCXXCFLAGS = @VISIBILITY_OBJCXXCFLAGS@
WEAVE_DEVICE_LAYER_TARGET = @WEAVE_DEVICE_LAYER_TARGET@
WEAVE_DEVICE_LAYER_TARGET_ESP32 = @WEAVE_DEVICE_LAYER_TARGET_ESP32@
WEAVE_LOGGING_STYLE = @WEAVE_LOGGING_STYLE@
WEAVE_LOGGING_STYLE_ANDROID = @WEAVE_LOGGING_STYLE_ANDROID@
WEAVE_LOGGING_STYLE_EXTERNAL = @WEAVE_LOGGING_STYLE_EXTERNAL@
WEAVE_LOGGING_STYLE_STDIO = @WEAVE_LOGGING_STYLE_STDIO@
WEAVE_LOGGING_STYLE_STDIO_WEAK = @WEAVE_LOGGING_STYLE_STDIO_WEAK@
WEAVE_OPENSSL_TARGET = @WEAVE_OPENSSL_TARGET@
WEAVE_OPENSSL_TARGET_DEFINES = @WEAVE_OPENSSL_TARGET_DEFINES@
WEAVE_SYSTEM_CONFIG_USE_LWIP = @WEAVE_SYSTEM_CONFIG_USE_LWIP@
WEAVE_SYSTEM_CONFIG_USE_SOCKETS = @WEAVE_SYSTEM_CONFIG_USE_SOCKETS@
WEAVE_TARGET_STYLE = @WEAVE_TARGET_STYLE@
WEAVE_TARGET_STYLE_EMBEDDED = @WEAVE_TARGET_STYLE_EMBEDDED@
WEAVE_TARGET_STYLE_UNIX = @WEAVE_TARGET_STYLE_UNIX@
_ACJNI_JAVAC = @_ACJNI_JAVAC@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_nlbuild_autotools_dir = @abs_top_nlbuild_autotools_dir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_OBJC = @ac_ct_OBJC@
ac_ct_OBJCXX = @ac_ct_OBJCXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
ax_pthread_config = @ax_pthread_config@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
nlbuild_autotools_stem = @nlbuild_autotools_stem@
oldincludedir = @oldincludedir@
openssl_buildstem = @openssl_buildstem@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@

#
# Build Configuration
#

#
# Default Project-Specific Configuration Headers
#

# Arrange to install the selected project-specific configuration
# headers IF they are located in the build/config source directory. If the
# user has specified their own configuration headers, then those
# headers are NOT included in the installation directory.
#
# The 'dist' target appears to have issues with absolute paths, so add
# them with relative paths to include_HEADERS which, in turn, is
# included in DIST_COMMON which, in turn, is included in DISTFILES
# which is what the 'distdir' target depended on by the 'dist' target
# works against.
include_HEADERS = BuildConfig.h $(NULL) $(subst $(abspath \
	$(abs_top_srcdir)),$(top_srcdir),$(filter $(abspath \
	$(top_srcdir)/build/config/%),$(abspath \
	$(NL_PROJECT_CONFIG_INCLUDES))))

#
# First-party Public Headers
#

#
# BleLayer
#
# At present, the BLE layer is partitioned in two: a production
# portion under ble/ and a test protion under device-manager/.
# 

#
# BleLayer : ble
#
# Production Portion
#
nl_public_BleLayer_ble_source_dirstem = ble
nl_public_BleLayer_ble_header_sources = \
$(nl_public_BleLayer_ble_source_dirstem)/BLEEndPoint.h \
$(nl_public_BleLayer_ble_source_dirstem)/Ble.h \
$(nl_public_BleLayer_ble_source_dirstem)/BleApplicationDelegate.h \
$(nl_public_BleLayer_ble_source_dirstem)/BleConfig.h \
$(nl_public_BleLayer_ble_source_dirstem)/BleError.h \
$(nl_public_BleLayer_ble_source_dirstem)/BleLayer.h \
$(nl_public_BleLayer_ble_source_dirstem)/BlePlatformDelegate.h \
$(nl_public_BleLayer_ble_source_dirstem)/BleUUID.h \
$(nl_public_BleLayer_ble_source_dirstem)/WoBle.h \
$(NULL)

dist_ble_ble_HEADERS = $(addprefix ../,$(nl_public_BleLayer_ble_header_sources))
nl_public_BleLayer_ble_destination_dirstem = BleLayer
ble_bledir = $(includedir)/$(nl_public_BleLayer_ble_destination_dirstem)
@CONFIG_NETWORK_LAYER_BLE_TRUE@nl_public_BleLayer_ble_header_paths = $(subst $(nl_public_BleLayer_ble_source_dirstem)/,,$(nl_public_BleLayer_ble_header_sources))
@CONFIG_NETWORK_LAYER_BLE_TRUE@nl_public_BleLayer_ble_header_destinations = $(addprefix $(nl_public_BleLayer_ble_destination_dirstem)/,$(nl_public_BleLayer_ble_header_paths))
@CONFIG_NETWORK_LAYER_BLE_TRUE@nl_public_BleLayer_ble_header_dirs = $(sort $(dir $(nl_public_BleLayer_ble_header_destinations)))

#
# BleLayer : device-manager
#
# Test Portion
#
# The WoBLE interface is currently exercised via the Device Manager
# interface. Consequently, when WoBLE testing is enabled, include the
# test header as a publicly-exported header.
#
nl_public_BleLayer_device_manager_source_dirstem = device-manager
nl_public_BleLayer_device_manager_header_sources = \
$(nl_public_BleLayer_device_manager_source_dirstem)/WoBleTest.h \
$(NULL)

dist_ble_device_manager_HEADERS = $(addprefix ../,$(nl_public_BleLayer_device_manager_header_sources))
nl_public_BleLayer_device_manager_destination_dirstem = BleLayer
ble_device_managerdir = $(includedir)/$(nl_public_BleLayer_device_manager_destination_dirstem)
@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_ENABLE_WOBLE_TEST_TRUE@nl_public_BleLayer_device_manager_header_paths = $(subst $(nl_public_BleLayer_device_manager_source_dirstem)/,,$(nl_public_BleLayer_device_manager_header_sources))
@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_ENABLE_WOBLE_TEST_TRUE@nl_public_BleLayer_device_manager_header_destinations = $(addprefix $(nl_public_BleLayer_device_manager_destination_dirstem)/,$(nl_public_BleLayer_device_manager_header_paths))
@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_ENABLE_WOBLE_TEST_TRUE@nl_public_BleLayer_device_manager_header_dirs = $(sort $(dir $(nl_public_BleLayer_device_manager_header_destinations)))

#
# InetLayer
#
nl_public_InetLayer_source_dirstem = inet
nl_always_InetLayer_header_sources = \
$(nl_public_InetLayer_source_dirstem)/EndPointBasis.h \
$(nl_public_InetLayer_source_dirstem)/IANAConstants.h \
$(nl_public_InetLayer_source_dirstem)/Inet.h \
$(nl_public_InetLayer_source_dirstem)/InetBuffer.h \
$(nl_public_InetLayer_source_dirstem)/InetConfig.h \
$(nl_public_InetLayer_source_dirstem)/InetError.h \
$(nl_public_InetLayer_source_dirstem)/InetInterface.h \
$(nl_public_InetLayer_source_dirstem)/InetLayer.h \
$(nl_public_InetLayer_source_dirstem)/InetLayerBasis.h \
$(nl_public_InetLayer_source_dirstem)/InetLayerEvents.h \
$(nl_public_InetLayer_source_dirstem)/InetTimer.h \
$(nl_public_InetLayer_source_dirstem)/IPAddress.h \
$(nl_public_InetLayer_source_dirstem)/IPPrefix.h \
$(nl_public_InetLayer_source_dirstem)/InetFaultInjection.h \
$(NULL)

nl_public_InetLayer_header_sources =  \
	$(nl_always_InetLayer_header_sources) $(am__append_1) \
	$(am__append_2) $(am__append_3) $(am__append_4) \
	$(am__append_5) $(am__append_6)
nl_dist_InetLayer_header_sources = \
$(nl_always_InetLayer_header_sources) \
$(nl_public_InetLayer_source_dirstem)/DNSResolver.h \
$(nl_public_InetLayer_source_dirstem)/RawEndPoint.h \
$(nl_public_InetLayer_source_dirstem)/TCPEndPoint.h \
$(nl_public_InetLayer_source_dirstem)/UDPEndPoint.h \
$(nl_public_InetLayer_source_dirstem)/TunEndPoint.h \
$(nl_public_InetLayer_source_dirstem)/AsyncDNSResolverSockets.h \
$(NULL)

dist_inet_HEADERS = $(addprefix ../,$(nl_dist_InetLayer_header_sources))
nl_public_InetLayer_destination_dirstem = InetLayer
nl_public_InetLayer_header_paths = $(subst $(nl_public_InetLayer_source_dirstem)/,,$(nl_public_InetLayer_header_sources))
nl_public_InetLayer_header_destinations = $(addprefix $(nl_public_InetLayer_destination_dirstem)/,$(nl_public_InetLayer_header_paths))
nl_public_InetLayer_header_dirs = $(call Deslashify,$(sort $(dir $(nl_public_InetLayer_header_destinations))))
inetdir = $(includedir)/$(nl_public_InetLayer_destination_dirstem)

#
# platform/ble/bluez
#
platform_ble_bluez_public_source_dirstem = platform/ble/bluez
platform_ble_bluez_public_destination_dirstem = PlatformLayer/Ble/Bluez
platform_ble_bluez_public_header_sources = $(am__append_7)
platform_ble_bluez_public_header_paths = $(subst $(platform_ble_bluez_public_source_dirstem)/,,$(platform_ble_bluez_public_header_sources))
platform_ble_bluez_public_header_destinations = $(addprefix $(platform_ble_bluez_public_destination_dirstem)/,$(platform_ble_bluez_public_header_paths))
platform_ble_bluez_public_header_dirs = $(call Deslashify,$(sort $(dir $(platform_ble_bluez_public_header_destinations))))
platform_ble_bluezdir = $(includedir)/$(platform_ble_bluez_public_destination_dirstem)
dist_platform_ble_bluez_HEADERS = $(addprefix ../,$(platform_ble_bluez_public_header_sources))

#
# SystemLayer
#
nl_public_SystemLayer_source_dirstem = system
nl_public_SystemLayer_destination_dirstem = SystemLayer
nl_public_SystemLayer_header_sources = \
    $(nl_public_SystemLayer_source_dirstem)/SystemAlignSize.h       \
    $(nl_public_SystemLayer_source_dirstem)/SystemClock.h           \
    $(nl_public_SystemLayer_source_dirstem)/SystemConfig.h          \
    $(nl_public_SystemLayer_source_dirstem)/SystemError.h           \
    $(nl_public_SystemLayer_source_dirstem)/SystemEvent.h           \
    $(nl_public_SystemLayer_source_dirstem)/SystemFaultInjection.h  \
    $(nl_public_SystemLayer_source_dirstem)/SystemStats.h           \
    $(nl_public_SystemLayer_source_dirstem)/SystemLayer.h           \
    $(nl_public_SystemLayer_source_dirstem)/SystemMutex.h           \
    $(nl_public_SystemLayer_source_dirstem)/SystemObject.h          \
    $(nl_public_SystemLayer_source_dirstem)/SystemTimer.h           \
    $(nl_public_SystemLayer_source_dirstem)/SystemPacketBuffer.h    \
    $(NULL)

nl_public_SystemLayer_header_paths = $(subst $(nl_public_SystemLayer_source_dirstem)/,,$(nl_public_SystemLayer_header_sources))
nl_public_SystemLayer_header_destinations = $(addprefix $(nl_public_SystemLayer_destination_dirstem)/,$(nl_public_SystemLayer_header_paths))
nl_public_SystemLayer_header_dirs = $(call Deslashify,$(sort $(dir $(nl_public_SystemLayer_header_destinations))))
systemdir = $(includedir)/$(nl_public_SystemLayer_destination_dirstem)
dist_system_HEADERS = $(addprefix ../,$(nl_public_SystemLayer_header_sources))

#
# Warm
#
nl_public_Warm_source_dirstem = warm
nl_public_Warm_destination_dirstem = Warm
nl_public_Warm_header_sources = \
$(nl_public_Warm_source_dirstem)/Warm.h \
$(nl_public_Warm_source_dirstem)/WarmConfig.h \
$(NULL)

nl_public_Warm_header_paths = $(subst $(nl_public_Warm_source_dirstem)/,,$(nl_public_Warm_header_sources))
nl_public_Warm_header_destinations = $(addprefix $(nl_public_Warm_destination_dirstem)/,$(nl_public_Warm_header_paths))
nl_public_Warm_header_dirs = $(call Deslashify,$(sort $(dir $(nl_public_Warm_header_destinations))))
warmdir = $(includedir)/$(nl_public_Warm_destination_dirstem)
dist_warm_HEADERS = $(addprefix ../,$(nl_public_Warm_header_sources))

#
# Weave
#

# Weave - Top-level
#
# Right now, this exists exclusive to serve the auto-generated
# Weave/WeaveVersion.h header.
nl_public_Weave_source_dirstem = Weave
nl_public_Weave_destination_dirstem = Weave
nl_public_Weave_header_sources = \
$(nl_public_Weave_source_dirstem)/WeaveVersion.h \
$(NULL)

nl_public_Weave_header_paths = $(subst $(nl_public_Weave_source_dirstem)/,,$(nl_public_Weave_header_sources))
nl_public_Weave_header_destinations = $(addprefix $(nl_public_Weave_destination_dirstem)/,$(nl_public_Weave_header_paths))
nl_public_Weave_header_dirs = $(call Deslashify,$(sort $(dir $(nl_public_Weave_header_destinations))))
weavedir = $(includedir)/$(nl_public_Weave_destination_dirstem)
dist_weave_HEADERS = $(addprefix ./,$(nl_public_Weave_header_sources))

# Weave - Support
nl_public_WeaveSupport_source_dirstem = lib/support
nl_public_WeaveSupport_destination_dirstem = Weave/Support
nl_public_WeaveSupport_base_header_sources = \
$(nl_public_WeaveSupport_source_dirstem)/ASN1.h \
$(nl_public_WeaveSupport_source_dirstem)/ASN1Config.h \
$(nl_public_WeaveSupport_source_dirstem)/ASN1Error.h \
$(nl_public_WeaveSupport_source_dirstem)/ASN1Macros.h \
$(nl_public_WeaveSupport_source_dirstem)/ASN1OID.h \
$(nl_public_WeaveSupport_source_dirstem)/Base64.h \
$(nl_public_WeaveSupport_source_dirstem)/CodeUtils.h \
$(nl_public_WeaveSupport_source_dirstem)/ErrorStr.h \
$(nl_public_WeaveSupport_source_dirstem)/FibonacciUtils.h \
$(nl_public_WeaveSupport_source_dirstem)/FlagUtils.hpp \
$(nl_public_WeaveSupport_source_dirstem)/ManagedNamespace.hpp \
$(nl_public_WeaveSupport_source_dirstem)/MathUtils.h \
$(nl_public_WeaveSupport_source_dirstem)/NLDLLUtil.h \
$(nl_public_WeaveSupport_source_dirstem)/NestCerts.h \
$(nl_public_WeaveSupport_source_dirstem)/PersistedCounter.h \
$(nl_public_WeaveSupport_source_dirstem)/ProfileStringSupport.hpp \
$(nl_public_WeaveSupport_source_dirstem)/RandUtils.h \
$(nl_public_WeaveSupport_source_dirstem)/SerialNumberUtils.h \
$(nl_public_WeaveSupport_source_dirstem)/SerializationUtils.h \
$(nl_public_WeaveSupport_source_dirstem)/TimeUtils.h \
$(nl_public_WeaveSupport_source_dirstem)/TraitEventUtils.h \
$(nl_public_WeaveSupport_source_dirstem)/WeaveCounter.h \
$(nl_public_WeaveSupport_source_dirstem)/WeaveFaultInjection.h \
$(nl_public_WeaveSupport_source_dirstem)/WeaveNames.h \
$(nl_public_WeaveSupport_source_dirstem)/nlargparser.hpp \
$(NULL)

nl_public_WeaveSupport_crypto_header_sources = \
$(nl_public_WeaveSupport_source_dirstem)/crypto/AESBlockCipher.h \
$(nl_public_WeaveSupport_source_dirstem)/crypto/CTRMode.h \
$(nl_public_WeaveSupport_source_dirstem)/crypto/DRBG.h \
$(nl_public_WeaveSupport_source_dirstem)/crypto/EllipticCurve.h \
$(nl_public_WeaveSupport_source_dirstem)/crypto/HKDF.h \
$(nl_public_WeaveSupport_source_dirstem)/crypto/HMAC.h \
$(nl_public_WeaveSupport_source_dirstem)/crypto/HashAlgos.h \
$(nl_public_WeaveSupport_source_dirstem)/crypto/WeaveRNG.h \
$(nl_public_WeaveSupport_source_dirstem)/crypto/WeaveCrypto.h \
$(NULL)

nl_public_WeaveSupport_logging_header_sources = \
$(nl_public_WeaveSupport_source_dirstem)/logging/WeaveLogging.h \
$(nl_public_WeaveSupport_source_dirstem)/logging/DecodedIPPacket.h \
$(NULL)

nl_public_WeaveSupport_verhoeff_header_sources = \
$(nl_public_WeaveSupport_source_dirstem)/verhoeff/Verhoeff.h \
$(NULL)

nl_public_WeaveSupport_pairing_code_header_sources = \
$(nl_public_WeaveSupport_source_dirstem)/pairing-code/PairingCodeUtils.h \
$(NULL)

nl_public_WeaveSupport_platform_header_sources = \
$(nl_public_WeaveSupport_source_dirstem)/platform/PersistedStorage.h \
$(NULL)

nl_public_WeaveSupport_header_sources = \
$(nl_public_WeaveSupport_base_header_sources) \
$(nl_public_WeaveSupport_crypto_header_sources) \
$(nl_public_WeaveSupport_logging_header_sources) \
$(nl_public_WeaveSupport_verhoeff_header_sources) \
$(nl_public_WeaveSupport_pairing_code_header_sources) \
$(nl_public_WeaveSupport_platform_header_sources) \
$(NULL)

nl_public_WeaveSupport_header_paths = $(subst $(nl_public_WeaveSupport_source_dirstem)/,,$(nl_public_WeaveSupport_header_sources))
nl_public_WeaveSupport_header_destinations = $(addprefix $(nl_public_WeaveSupport_destination_dirstem)/,$(nl_public_WeaveSupport_header_paths))
nl_public_WeaveSupport_header_dirs = $(call Deslashify,$(sort $(dir $(nl_public_WeaveSupport_header_destinations))))
weave_support_basedir = $(includedir)/$(nl_public_WeaveSupport_destination_dirstem)
dist_weave_support_base_HEADERS = $(addprefix ../,$(nl_public_WeaveSupport_base_header_sources))
weave_support_cryptodir = $(includedir)/$(nl_public_WeaveSupport_destination_dirstem)/crypto
dist_weave_support_crypto_HEADERS = $(addprefix ../,$(nl_public_WeaveSupport_crypto_header_sources))
weave_support_loggingdir = $(includedir)/$(nl_public_WeaveSupport_destination_dirstem)/logging
dist_weave_support_logging_HEADERS = $(addprefix ../,$(nl_public_WeaveSupport_logging_header_sources))
weave_support_verhoeffdir = $(includedir)/$(nl_public_WeaveSupport_destination_dirstem)/verhoeff
dist_weave_support_verhoeff_HEADERS = $(addprefix ../,$(nl_public_WeaveSupport_verhoeff_header_sources))
weave_support_pairing_codedir = $(includedir)/$(nl_public_WeaveSupport_destination_dirstem)/pairing-code
dist_weave_support_pairing_code_HEADERS = $(addprefix ../,$(nl_public_WeaveSupport_pairing_code_header_sources))
weave_support_platformdir = $(includedir)/$(nl_public_WeaveSupport_destination_dirstem)/platform
dist_weave_support_platform_HEADERS = $(addprefix ../,$(nl_public_WeaveSupport_platform_header_sources))

# Weave - Core
nl_public_WeaveCore_source_dirstem = lib/core
nl_public_WeaveCore_destination_dirstem = Weave/Core
nl_public_WeaveCore_header_sources = \
$(nl_public_WeaveCore_source_dirstem)/HostPortList.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveKeyIds.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveBinding.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveBDXConfig.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveConfig.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveCore.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveDMConfig.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveTimeConfig.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveEncoding.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveError.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveEventLoggingConfig.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveExchangeMgr.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveFabricState.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveGlobals.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveMessageLayer.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveSecurityMgr.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveServerBase.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveStats.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveTLV.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveTLVData.hpp \
$(nl_public_WeaveCore_source_dirstem)/WeaveTLVDebug.hpp \
$(nl_public_WeaveCore_source_dirstem)/WeaveTLVTags.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveTLVTypes.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveTLVUtilities.hpp \
$(nl_public_WeaveCore_source_dirstem)/WeaveCircularTLVBuffer.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveVendorIdentifiers.hpp \
$(nl_public_WeaveCore_source_dirstem)/WeaveTunnelConfig.h \
$(nl_public_WeaveCore_source_dirstem)/WeaveWRMPConfig.h \
$(NULL)

nl_public_WeaveCore_header_paths = $(subst $(nl_public_WeaveCore_source_dirstem)/,,$(nl_public_WeaveCore_header_sources))
nl_public_WeaveCore_header_destinations = $(addprefix $(nl_public_WeaveCore_destination_dirstem)/,$(nl_public_WeaveCore_header_paths))
nl_public_WeaveCore_header_dirs = $(call Deslashify,$(sort $(dir $(nl_public_WeaveCore_header_destinations))))
weave_coredir = $(includedir)/$(nl_public_WeaveCore_destination_dirstem)
dist_weave_core_HEADERS = $(addprefix ../,$(nl_public_WeaveCore_header_sources))

# Weave - Profiles
nl_public_WeaveProfiles_source_dirstem = lib/profiles
nl_public_WeaveProfiles_destination_dirstem = Weave/Profiles
nl_public_WeaveProfiles_base_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/ProfileCommon.h \
$(nl_public_WeaveProfiles_source_dirstem)/WeaveProfiles.h \
$(NULL)

nl_public_WeaveProfiles_bulk_data_transfer_development_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/bulk-data-transfer/Development/BDXConstants.h \
$(nl_public_WeaveProfiles_source_dirstem)/bulk-data-transfer/Development/BDXDelegate.h \
$(nl_public_WeaveProfiles_source_dirstem)/bulk-data-transfer/Development/BDXManagedNamespace.hpp \
$(nl_public_WeaveProfiles_source_dirstem)/bulk-data-transfer/Development/BDXMessages.h \
$(nl_public_WeaveProfiles_source_dirstem)/bulk-data-transfer/Development/BDXNode.h \
$(nl_public_WeaveProfiles_source_dirstem)/bulk-data-transfer/Development/BDXProtocol.h \
$(nl_public_WeaveProfiles_source_dirstem)/bulk-data-transfer/Development/BDXTransferState.h \
$(nl_public_WeaveProfiles_source_dirstem)/bulk-data-transfer/Development/BulkDataTransfer.h \
$(NULL)

nl_public_WeaveProfiles_bulk_data_transfer_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/bulk-data-transfer/BDXManagedNamespace.hpp \
$(nl_public_WeaveProfiles_source_dirstem)/bulk-data-transfer/BulkDataTransfer.h \
$(nl_public_WeaveProfiles_source_dirstem)/bulk-data-transfer/WeaveBdxDelegate.h \
$(NULL)

nl_public_WeaveProfiles_common_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/common/CommonProfile.h \
$(nl_public_WeaveProfiles_source_dirstem)/common/WeaveMessage.h \
$(NULL)

nl_public_WeaveProfiles_data_management_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Binding.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/ClientDataManager.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/ClientNotifier.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/DMClient.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/DMConstants.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/DMPublisher.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/DataManagement.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/ProfileDatabase.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/ProtocolEngine.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/PublisherDataManager.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/TopicIdentifier.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/WdmManagedNamespace.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/MessageDef.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/ViewClient.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/TraitData.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/TraitCatalog.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/TraitPathStore.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/SubscriptionEngine.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/SubscriptionClient.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/SubscriptionHandler.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/NotificationEngine.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Command.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/UpdateClient.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/UpdateEncoder.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/EventLogging.h		\
$(nl_public_WeaveProfiles_source_dirstem)/data-management/EventLoggingTags.h	\
$(nl_public_WeaveProfiles_source_dirstem)/data-management/EventLoggingTypes.h	\
$(nl_public_WeaveProfiles_source_dirstem)/data-management/EventProcessor.h    \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/LogBDXUpload.h		\
$(nl_public_WeaveProfiles_source_dirstem)/data-management/LoggingConfiguration.h	\
$(nl_public_WeaveProfiles_source_dirstem)/data-management/LoggingManagement.h	\
$(NULL)

nl_public_WeaveProfiles_data_management_legacy_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Legacy/Binding.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Legacy/ClientDataManager.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Legacy/ClientNotifier.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Legacy/DMClient.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Legacy/DMConstants.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Legacy/DMPublisher.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Legacy/DataManagement.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Legacy/ProfileDatabase.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Legacy/ProtocolEngine.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Legacy/PublisherDataManager.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Legacy/TopicIdentifier.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Legacy/WdmManagedNamespace.h \
$(NULL)

nl_public_WeaveProfiles_data_management_current_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/DataManagement.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/MessageDef.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/ResourceIdentifier.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/ViewClient.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/TraitData.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/TraitCatalog.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/TraitPathStore.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/SubscriptionEngine.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/SubscriptionClient.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/SubscriptionHandler.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/NotificationEngine.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/Command.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/UpdateClient.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/UpdateEncoder.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/WdmManagedNamespace.h \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/EventLogging.h		\
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/EventLoggingTags.h	\
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/EventLoggingTypes.h	\
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/EventProcessor.h    \
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/LogBDXUpload.h		\
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/LoggingConfiguration.h	\
$(nl_public_WeaveProfiles_source_dirstem)/data-management/Current/LoggingManagement.h	\
$(NULL)

nl_public_WeaveProfiles_device_control_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/device-control/DeviceControl.h \
$(NULL)

nl_public_WeaveProfiles_device_description_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/device-description/DeviceDescription.h \
$(NULL)

nl_public_WeaveProfiles_echo_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/echo/WeaveEcho.h \
$(NULL)

nl_public_WeaveProfiles_echo_current_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/echo/Current/WeaveEcho.h \
$(NULL)

nl_public_WeaveProfiles_echo_next_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/echo/Next/WeaveEcho.h \
$(nl_public_WeaveProfiles_source_dirstem)/echo/Next/WeaveEchoClient.h \
$(nl_public_WeaveProfiles_source_dirstem)/echo/Next/WeaveEchoServer.h \
$(NULL)

nl_public_WeaveProfiles_fabric_provisioning_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/fabric-provisioning/FabricProvisioning.h \
$(NULL)

nl_public_WeaveProfiles_heartbeat_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/heartbeat/WeaveHeartbeat.h \
$(NULL)

nl_public_WeaveProfiles_locale_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/locale/LocaleProfile.hpp \
$(nl_public_WeaveProfiles_source_dirstem)/locale/LocaleStatus.hpp \
$(nl_public_WeaveProfiles_source_dirstem)/locale/LocaleTags.hpp \
$(NULL)

nl_public_WeaveProfiles_network_provisioning_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/network-provisioning/NetworkInfo.h         \
$(nl_public_WeaveProfiles_source_dirstem)/network-provisioning/NetworkProvisioning.h \
$(NULL)

nl_public_WeaveProfiles_security_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/security/ApplicationKeysStructSchema.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/ApplicationKeysTrait.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/ApplicationKeysTraitDataSink.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeaveAccessToken.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeaveAppGroupGlobalIds.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeaveApplicationKeys.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeaveCASE.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeaveCert.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeaveDummyGroupKeyStore.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeavePASE.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeaveTAKE.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeaveKeyExport.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeaveKeyExportClient.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeavePasscodes.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeavePrivateKey.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeaveProvBundle.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeaveProvHash.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeaveSecurity.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeaveSecurityDebug.h \
$(nl_public_WeaveProfiles_source_dirstem)/security/WeaveSig.h \
$(NULL)

nl_public_WeaveProfiles_service_directory_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/service-directory/ServiceDirectory.h \
$(NULL)

nl_public_WeaveProfiles_service_provisioning_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/service-provisioning/ServiceProvisioning.h \
$(NULL)

nl_public_WeaveProfiles_software_update_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/software-update/SoftwareUpdateProfile.h \
$(nl_public_WeaveProfiles_source_dirstem)/software-update/WeaveImageAnnounceServer.h \
$(NULL)

nl_public_WeaveProfiles_time_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/time/WeaveTime.h \
$(NULL)

nl_public_WeaveProfiles_token_pairing_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/token-pairing/TokenPairing.h \
$(NULL)

nl_public_WeaveProfiles_status_report_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/status-report/StatusReportProfile.h \
$(NULL)

nl_public_WeaveProfiles_weave_tunneling_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/weave-tunneling/WeaveTunnelAgent.h \
$(nl_public_WeaveProfiles_source_dirstem)/weave-tunneling/WeaveTunnelControl.h \
$(nl_public_WeaveProfiles_source_dirstem)/weave-tunneling/WeaveTunnelCommon.h \
$(nl_public_WeaveProfiles_source_dirstem)/weave-tunneling/WeaveTunnelConnectionMgr.h \
$(NULL)

nl_public_WeaveProfiles_nestlabs_device_description_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/vendor/nestlabs/device-description/NestProductIdentifiers.hpp \
$(NULL)

nl_public_WeaveProfiles_nestlabs_thermostat_header_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/vendor/nestlabs/thermostat/NestThermostatWeaveConstants.h \
$(NULL)

nl_public_WeaveProfiles_nestlabs_dropcam_legacy_pairing_sources = \
$(nl_public_WeaveProfiles_source_dirstem)/vendor/nestlabs/dropcam-legacy-pairing/DropcamLegacyPairing.h \
$(NULL)

nl_public_WeaveProfiles_header_sources =  \
	$(nl_public_WeaveProfiles_base_header_sources) \
	$(nl_public_WeaveProfiles_bulk_data_transfer_development_header_sources) \
	$(nl_public_WeaveProfiles_bulk_data_transfer_header_sources) \
	$(nl_public_WeaveProfiles_common_header_sources) \
	$(nl_public_WeaveProfiles_data_management_header_sources) \
	$(nl_public_WeaveProfiles_data_management_current_header_sources) \
	$(nl_public_WeaveProfiles_device_control_header_sources) \
	$(nl_public_WeaveProfiles_device_description_header_sources) \
	$(nl_public_WeaveProfiles_echo_header_sources) \
	$(nl_public_WeaveProfiles_echo_current_header_sources) \
	$(nl_public_WeaveProfiles_echo_next_header_sources) \
	$(nl_public_WeaveProfiles_fabric_provisioning_header_sources) \
	$(nl_public_WeaveProfiles_heartbeat_header_sources) \
	$(nl_public_WeaveProfiles_locale_header_sources) \
	$(nl_public_WeaveProfiles_network_provisioning_header_sources) \
	$(nl_public_WeaveProfiles_security_header_sources) \
	$(nl_public_WeaveProfiles_service_directory_header_sources) \
	$(nl_public_WeaveProfiles_service_provisioning_header_sources) \
	$(nl_public_WeaveProfiles_software_update_header_sources) \
	$(nl_public_WeaveProfiles_status_report_header_sources) \
	$(nl_public_WeaveProfiles_time_header_sources) \
	$(nl_public_WeaveProfiles_token_pairing_header_sources) \
	$(nl_public_WeaveProfiles_weave_tunneling_header_sources) \
	$(nl_public_WeaveProfiles_nestlabs_device_description_header_sources) \
	$(nl_public_WeaveProfiles_nestlabs_thermostat_header_sources) \
	$(nl_public_WeaveProfiles_nestlabs_dropcam_legacy_pairing_sources) \
	$(NULL) $(am__append_8)
nl_public_WeaveProfiles_header_paths = $(subst $(nl_public_WeaveProfiles_source_dirstem)/,,$(nl_public_WeaveProfiles_header_sources))
nl_public_WeaveProfiles_header_destinations = $(addprefix $(nl_public_WeaveProfiles_destination_dirstem)/,$(nl_public_WeaveProfiles_header_paths))
nl_public_WeaveProfiles_header_dirs = $(call Deslashify,$(sort $(dir $(nl_public_WeaveProfiles_header_destinations))))
weave_profiles_basedir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)
weave_profiles_base_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_base_header_sources))
weave_profiles_bulk_data_transferdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/bulk-data-transfer
weave_profiles_bulk_data_transfer_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_bulk_data_transfer_header_sources))
weave_profiles_bulk_data_transfer_currentdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/bulk-data-transfer/Current
weave_profiles_bulk_data_transfer_current_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_bulk_data_transfer_current_header_sources))
weave_profiles_bulk_data_transfer_developmentdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/bulk-data-transfer/Development
weave_profiles_bulk_data_transfer_development_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_bulk_data_transfer_development_header_sources))
weave_profiles_commondir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/common
weave_profiles_common_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_common_header_sources))
weave_profiles_data_managementdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/data-management
weave_profiles_data_management_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_data_management_header_sources))
weave_profiles_data_management_legacydir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/data-management/Legacy
weave_profiles_data_management_legacy_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_data_management_legacy_header_sources))
weave_profiles_data_management_currentdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/data-management/Current
weave_profiles_data_management_current_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_data_management_current_header_sources))
weave_profiles_device_controldir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/device-control
weave_profiles_device_control_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_device_control_header_sources))
weave_profiles_device_descriptiondir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/device-description
weave_profiles_device_description_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_device_description_header_sources))
weave_profiles_echodir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/echo
weave_profiles_echo_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_echo_header_sources))
weave_profiles_echo_currentdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/echo/Current
weave_profiles_echo_current_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_echo_current_header_sources))
weave_profiles_echo_nextdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/echo/Next
weave_profiles_echo_next_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_echo_next_header_sources))
weave_profiles_fabric_provisioningdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/fabric-provisioning
weave_profiles_fabric_provisioning_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_fabric_provisioning_header_sources))
weave_profiles_heartbeatdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/heartbeat
weave_profiles_heartbeat_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_heartbeat_header_sources))
weave_profiles_localedir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/locale
weave_profiles_locale_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_locale_header_sources))
weave_profiles_network_provisioningdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/network-provisioning
weave_profiles_network_provisioning_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_network_provisioning_header_sources))
weave_profiles_securitydir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/security
weave_profiles_security_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_security_header_sources))
weave_profiles_service_directorydir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/service-directory
weave_profiles_service_directory_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_service_directory_header_sources))
weave_profiles_service_provisioningdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/service-provisioning
weave_profiles_service_provisioning_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_service_provisioning_header_sources))
weave_profiles_software_updatedir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/software-update
weave_profiles_software_update_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_software_update_header_sources))
weave_profiles_status_reportdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/status-report
weave_profiles_status_report_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_status_report_header_sources))
weave_profiles_timedir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/time
weave_profiles_time_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_time_header_sources))
weave_profiles_token_pairingdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/token-pairing
weave_profiles_token_pairing_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_token_pairing_header_sources))
weave_profiles_weave_tunnelingdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/weave-tunneling
weave_profiles_weave_tunneling_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_weave_tunneling_header_sources))
weave_profiles_nestlabs_device_descriptiondir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/vendor/nestlabs/device-description
weave_profiles_nestlabs_device_description_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_nestlabs_device_description_header_sources))
weave_profiles_nestlabs_heat_linkdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/vendor/nestlabs/heat-link
weave_profiles_nestlabs_heat_link_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_nestlabs_heat_link_header_sources))
weave_profiles_nestlabs_protectdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/vendor/nestlabs/protect
weave_profiles_nestlabs_protect_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_nestlabs_protect_header_sources))
weave_profiles_nestlabs_thermostatdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/vendor/nestlabs/thermostat
weave_profiles_nestlabs_thermostat_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_nestlabs_thermostat_header_sources))
weave_profiles_nestlabs_time_variant_datadir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/vendor/nestlabs/time-variant-data
weave_profiles_nestlabs_time_variant_data_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_nestlabs_time_variant_data_header_sources))
weave_profiles_nestlabs_boilerdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/vendor/nestlabs/boiler
weave_profiles_nestlabs_boiler_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_nestlabs_boiler_header_sources))
weave_profiles_nestlabs_dropcam_legacy_pairingdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/vendor/nestlabs/dropcam-legacy-pairing
weave_profiles_nestlabs_dropcam_legacy_pairing_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_nestlabs_dropcam_legacy_pairing_sources))
weave_profiles_nestlabs_domestic_hot_waterdir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/vendor/nestlabs/domestic-hot-water
weave_profiles_nestlabs_domestic_hot_water_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_nestlabs_domestic_hot_water_header_sources))
weave_profiles_nestlabs_hvac_equipment_controldir = $(includedir)/$(nl_public_WeaveProfiles_destination_dirstem)/vendor/nestlabs/hvac/equipment-control
weave_profiles_nestlabs_hvac_equipment_control_HEADERS = $(addprefix ../,$(nl_public_WeaveProfiles_nestlabs_hvac_equipment_control_header_sources))

#
# Common defines from Schema, to be used across the ecosystem
#
nl_public_WeaveCommon_source_dirstem = lib/schema/common
nl_public_WeaveCommon_destination_dirstem = Weave/Common
nl_public_WeaveCommon_header_sources = \
$(nl_public_WeaveCommon_source_dirstem)/ResourceTypeEnum.h \
$(NULL)

nl_public_WeaveCommon_header_paths = $(subst $(nl_public_WeaveCommon_source_dirstem)/,,$(nl_public_WeaveCommon_header_sources))
nl_public_WeaveCommon_header_destinations = $(addprefix $(nl_public_WeaveCommon_destination_dirstem)/,$(nl_public_WeaveCommon_header_paths))
nl_public_WeaveCommon_header_dirs = $(call Deslashify,$(sort $(dir $(nl_public_WeaveCommon_header_destinations))))
weave_commondir = $(includedir)/$(nl_public_WeaveCommon_destination_dirstem)
dist_weave_common_HEADERS = $(addprefix ../,$(nl_public_WeaveCommon_header_sources))

#
# Weave Device Layer Headers
#
@WEAVE_DEVICE_LAYER_TARGET_ESP32_TRUE@nl_public_WeaveDeviceLayer_target_header_sources = \
@WEAVE_DEVICE_LAYER_TARGET_ESP32_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/ESP32/BLEManagerImpl.h                                 \
@WEAVE_DEVICE_LAYER_TARGET_ESP32_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/ESP32/ConfigurationManagerImpl.h                       \
@WEAVE_DEVICE_LAYER_TARGET_ESP32_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/ESP32/ConnectivityManagerImpl.h                        \
@WEAVE_DEVICE_LAYER_TARGET_ESP32_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/ESP32/ESP32Config.h                                    \
@WEAVE_DEVICE_LAYER_TARGET_ESP32_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/ESP32/ESP32Utils.h                                     \
@WEAVE_DEVICE_LAYER_TARGET_ESP32_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/ESP32/GroupKeyStoreImpl.h                              \
@WEAVE_DEVICE_LAYER_TARGET_ESP32_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/ESP32/NetworkProvisioningServerImpl.h                  \
@WEAVE_DEVICE_LAYER_TARGET_ESP32_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/ESP32/PlatformManagerImpl.h                            \
@WEAVE_DEVICE_LAYER_TARGET_ESP32_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/ESP32/WeaveDevicePlatformConfig.h                      \
@WEAVE_DEVICE_LAYER_TARGET_ESP32_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/ESP32/WeaveDevicePlatformEvent.h                       \
@WEAVE_DEVICE_LAYER_TARGET_ESP32_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/FreeRTOS/GenericPlatformManagerImpl_FreeRTOS.h         \
@WEAVE_DEVICE_LAYER_TARGET_ESP32_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/FreeRTOS/GenericPlatformManagerImpl_FreeRTOS.ipp       \
@WEAVE_DEVICE_LAYER_TARGET_ESP32_TRUE@$(NULL)

@CONFIG_DEVICE_LAYER_TRUE@nl_public_WeaveDeviceLayer_source_dirstem = adaptations/device-layer/include/Weave/DeviceLayer
@CONFIG_DEVICE_LAYER_TRUE@nl_public_WeaveDeviceLayer_destination_dirstem = Weave/DeviceLayer
@CONFIG_DEVICE_LAYER_TRUE@nl_public_WeaveDeviceLayer_base_header_sources = \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/ConfigurationManager.h                   \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/ConnectivityManager.h                    \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/GeneralUtils.h                           \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/PlatformManager.h                        \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/TimeSyncManager.h                        \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/TraitManager.h                           \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/WeaveDeviceConfig.h                      \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/WeaveDeviceError.h                       \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/WeaveDeviceEvent.h                       \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/WeaveDeviceLayer.h                       \
@CONFIG_DEVICE_LAYER_TRUE@$(NULL)

@CONFIG_DEVICE_LAYER_TRUE@nl_public_WeaveDeviceLayer_internal_header_sources = \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/BLEManager.h                                  \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/DeviceControlServer.h                         \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/DeviceDescriptionServer.h                     \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/DeviceIdentityTraitDataSource.h               \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/EchoServer.h                                  \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/FabricProvisioningServer.h                    \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/GenericConfigurationManagerImpl.h             \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/GenericConfigurationManagerImpl.ipp           \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/GenericNetworkProvisioningServerImpl.h        \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/GenericNetworkProvisioningServerImpl.ipp      \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/GenericPlatformManagerImpl.h                  \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/GenericPlatformManagerImpl.ipp                \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/NetworkInfo.h                                 \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/NetworkProvisioningServer.h                   \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/ServiceDirectoryManager.h                     \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/ServiceProvisioningServer.h                   \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/ServiceTunnelAgent.h                          \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_source_dirstem)/internal/WeaveDeviceLayerInternal.h                    \
@CONFIG_DEVICE_LAYER_TRUE@$(NULL)

@CONFIG_DEVICE_LAYER_TRUE@nl_public_WeaveDeviceLayer_header_sources = \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_base_header_sources) \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_internal_header_sources) \
@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_target_header_sources) \
@CONFIG_DEVICE_LAYER_TRUE@$(NULL)

@CONFIG_DEVICE_LAYER_TRUE@nl_public_WeaveDeviceLayer_header_paths = $(subst $(nl_public_WeaveDeviceLayer_source_dirstem)/,,$(nl_public_WeaveDeviceLayer_header_sources))
@CONFIG_DEVICE_LAYER_TRUE@nl_public_WeaveDeviceLayer_header_destinations = $(addprefix $(nl_public_WeaveDeviceLayer_destination_dirstem)/,$(nl_public_WeaveDeviceLayer_header_paths))
@CONFIG_DEVICE_LAYER_TRUE@nl_public_WeaveDeviceLayer_header_dirs = $(call Deslashify,$(sort $(dir $(nl_public_WeaveDeviceLayer_header_destinations))))
@CONFIG_DEVICE_LAYER_TRUE@weave_device_layer_basedir = $(includedir)/$(nl_public_WeaveDeviceLayer_destination_dirstem)
@CONFIG_DEVICE_LAYER_TRUE@dist_weave_device_layer_base_HEADERS = $(addprefix ../,$(nl_public_WeaveDeviceLayer_base_header_sources))
@CONFIG_DEVICE_LAYER_TRUE@weave_device_layer_internaldir = $(includedir)/$(nl_public_WeaveDeviceLayer_destination_dirstem)/internal
@CONFIG_DEVICE_LAYER_TRUE@dist_weave_device_layer_internal_HEADERS = $(addprefix ../,$(nl_public_WeaveDeviceLayer_internal_header_sources))
@CONFIG_DEVICE_LAYER_TRUE@weave_device_layer_targetdir = $(includedir)/$(nl_public_WeaveDeviceLayer_destination_dirstem)/$(WEAVE_DEVICE_LAYER_TARGET)
@CONFIG_DEVICE_LAYER_TRUE@dist_weave_device_layer_target_HEADERS = $(addprefix ../,$(nl_public_WeaveDeviceLayer_target_header_sources))
@CONFIG_DEVICE_LAYER_TRUE@weave_device_layer_freertosdir = $(includedir)/$(nl_public_WeaveDeviceLayer_destination_dirstem)/FreeRTOS
@CONFIG_DEVICE_LAYER_TRUE@dist_weave_device_layer_freertos_HEADERS = $(addprefix ../,$(nl_public_WeaveDeviceLayer_target_header_sources))

#
# Third-party Public Headers
#

#
# micro-ecc
#
tps_public_micro_ecc_source_dirstem = ../third_party/micro-ecc/micro-ecc
tps_public_micro_ecc_destination_dirstem = micro-ecc
tps_public_micro_ecc_header_sources = \
$(tps_public_micro_ecc_source_dirstem)/uECC.h \
$(tps_public_micro_ecc_source_dirstem)/uECC_vli.h \
$(tps_public_micro_ecc_source_dirstem)/types.h \
$(NULL)

tps_public_micro_ecc_header_paths = $(subst $(tps_public_micro_ecc_source_dirstem)/,,$(tps_public_micro_ecc_header_sources))
tps_public_micro_ecc_header_destinations = $(addprefix $(tps_public_micro_ecc_destination_dirstem)/,$(tps_public_micro_ecc_header_paths))
tps_public_micro_ecc_header_dirs = $(call Deslashify,$(sort $(dir $(tps_public_micro_ecc_header_destinations))))
micro_eccdir = $(includedir)/$(tps_public_micro_ecc_destination_dirstem)
dist_micro_ecc_HEADERS = $(addprefix ../,$(tps_public_micro_ecc_header_sources))

#
# mincrypt
#
tps_public_mincrypt_source_dirstem = ../third_party/android/platform-system/core-mincrypt/include/mincrypt
tps_public_mincrypt_destination_dirstem = mincrypt
tps_public_mincrypt_header_sources = \
$(tps_public_mincrypt_source_dirstem)/sha.h \
$(tps_public_mincrypt_source_dirstem)/sha256.h \
$(tps_public_mincrypt_source_dirstem)/hash-internal.h \
$(NULL)

tps_public_mincrypt_header_paths = $(subst $(tps_public_mincrypt_source_dirstem)/,,$(tps_public_mincrypt_header_sources))
tps_public_mincrypt_header_destinations = $(addprefix $(tps_public_mincrypt_destination_dirstem)/,$(tps_public_mincrypt_header_paths))
tps_public_mincrypt_header_dirs = $(call Deslashify,$(sort $(dir $(tps_public_mincrypt_header_destinations))))
mincryptdir = $(includedir)/$(tps_public_mincrypt_destination_dirstem)
dist_mincrypt_HEADERS = $(addprefix ../,$(tps_public_mincrypt_header_sources))

#
# All header destinations to create or shadow by symbolic link.
#
nl_public_headers = \
    $(nl_public_BleLayer_ble_header_destinations)             \
    $(nl_public_BleLayer_device_manager_header_destinations)  \
    $(nl_public_InetLayer_header_destinations)                \
    $(nl_public_SystemLayer_header_destinations)              \
    $(nl_public_Warm_header_destinations)                     \
    $(nl_public_Weave_header_destinations)                    \
    $(nl_public_WeaveSupport_header_destinations)             \
    $(nl_public_WeaveCore_header_destinations)                \
    $(nl_public_WeaveCommon_header_destinations)              \
    $(nl_public_WeaveProfiles_header_destinations)            \
    $(nl_public_WeaveDeviceLayer_header_destinations)         \
    $(NULL)

platform_public_headers = \
    $(platform_ble_bluez_public_header_destinations)          \
    $(NULL)

tps_public_headers = \
    $(tps_public_micro_ecc_header_destinations)               \
    $(tps_public_mincrypt_header_destinations)                \
    $(NULL)

BUILT_SOURCES = \
    $(nl_public_headers)                                      \
    $(platform_public_headers)                                \
    $(tps_public_headers)                                     \
    $(NULL)

CLEANFILES = \
    $(nl_public_headers)                                      \
    $(tps_public_headers)                                     \
    $(NULL)


#
# Do not attept to lint or prettyify third-party public
# headers.
#

#
# Headers to filter out of PRETTY_FILES
#
platform_public_header_sources = \
    $(dist_platform_ble_bluez_HEADERS)                     \
    $(NULL)

tps_public_header_sources = \
    $(dist_micro_ecc_HEADERS)                              \
    $(dist_mincrypt_HEADERS)                               \
    $(NULL)

nl_filtered_pretty_files = \
    $(include_HEADERS)                                     \
    $(platform_public_header_sources)                      \
    $(tps_public_header_sources)                           \
    $(NULL)

PRETTY_FILES = \
    $(filter-out $(nl_filtered_pretty_files),$(HEADERS))   \
    $(NULL)

nl_public_header_dirs = \
    $(nl_public_BleLayer_ble_header_dirs)                  \
    $(nl_public_BleLayer_device_manager_header_dirs)       \
    $(nl_public_InetLayer_header_dirs)                     \
    $(nl_public_SystemLayer_header_dirs)                   \
    $(nl_public_Warm_header_dirs)                          \
    $(nl_public_WeaveCore_header_dirs)                     \
    $(nl_public_WeaveCommon_header_dirs)                     \
    $(nl_public_WeaveProfiles_header_dirs)                 \
    $(nl_public_WeaveSupport_header_dirs)                  \
    $(nl_public_Weave_header_dirs)                         \
    $(NULL)

platform_public_header_dirs = \
    $(platform_ble_bluez_public_header_dirs)               \
    $(NULL)

tps_public_header_dirs = \
    $(tps_public_micro_ecc_header_dirs)                    \
    $(tps_public_mincrypt_header_dirs)                     \
    $(NULL)

all: $(BUILT_SOURCES) BuildConfig.h
	$(MAKE) $(AM_MAKEFLAGS) all-am

.SUFFIXES:
$(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/include/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign src/include/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):

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

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

distclean-hdr:
	-rm -f BuildConfig.h stamp-h1

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs
install-dist_ble_bleHEADERS: $(dist_ble_ble_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_ble_ble_HEADERS)'; test -n "$(ble_bledir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(ble_bledir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(ble_bledir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(ble_bledir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(ble_bledir)" || exit $$?; \
	done

uninstall-dist_ble_bleHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_ble_ble_HEADERS)'; test -n "$(ble_bledir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(ble_bledir)'; $(am__uninstall_files_from_dir)
install-dist_ble_device_managerHEADERS: $(dist_ble_device_manager_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_ble_device_manager_HEADERS)'; test -n "$(ble_device_managerdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(ble_device_managerdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(ble_device_managerdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(ble_device_managerdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(ble_device_managerdir)" || exit $$?; \
	done

uninstall-dist_ble_device_managerHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_ble_device_manager_HEADERS)'; test -n "$(ble_device_managerdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(ble_device_managerdir)'; $(am__uninstall_files_from_dir)
install-dist_inetHEADERS: $(dist_inet_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_inet_HEADERS)'; test -n "$(inetdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(inetdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(inetdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(inetdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(inetdir)" || exit $$?; \
	done

uninstall-dist_inetHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_inet_HEADERS)'; test -n "$(inetdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(inetdir)'; $(am__uninstall_files_from_dir)
install-dist_micro_eccHEADERS: $(dist_micro_ecc_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_micro_ecc_HEADERS)'; test -n "$(micro_eccdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(micro_eccdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(micro_eccdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(micro_eccdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(micro_eccdir)" || exit $$?; \
	done

uninstall-dist_micro_eccHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_micro_ecc_HEADERS)'; test -n "$(micro_eccdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(micro_eccdir)'; $(am__uninstall_files_from_dir)
install-dist_mincryptHEADERS: $(dist_mincrypt_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_mincrypt_HEADERS)'; test -n "$(mincryptdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(mincryptdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(mincryptdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(mincryptdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(mincryptdir)" || exit $$?; \
	done

uninstall-dist_mincryptHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_mincrypt_HEADERS)'; test -n "$(mincryptdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(mincryptdir)'; $(am__uninstall_files_from_dir)
install-dist_platform_ble_bluezHEADERS: $(dist_platform_ble_bluez_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_platform_ble_bluez_HEADERS)'; test -n "$(platform_ble_bluezdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(platform_ble_bluezdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(platform_ble_bluezdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(platform_ble_bluezdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(platform_ble_bluezdir)" || exit $$?; \
	done

uninstall-dist_platform_ble_bluezHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_platform_ble_bluez_HEADERS)'; test -n "$(platform_ble_bluezdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(platform_ble_bluezdir)'; $(am__uninstall_files_from_dir)
install-dist_systemHEADERS: $(dist_system_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_system_HEADERS)'; test -n "$(systemdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(systemdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(systemdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(systemdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(systemdir)" || exit $$?; \
	done

uninstall-dist_systemHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_system_HEADERS)'; test -n "$(systemdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(systemdir)'; $(am__uninstall_files_from_dir)
install-dist_warmHEADERS: $(dist_warm_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_warm_HEADERS)'; test -n "$(warmdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(warmdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(warmdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(warmdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(warmdir)" || exit $$?; \
	done

uninstall-dist_warmHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_warm_HEADERS)'; test -n "$(warmdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(warmdir)'; $(am__uninstall_files_from_dir)
install-dist_weaveHEADERS: $(dist_weave_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_weave_HEADERS)'; test -n "$(weavedir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weavedir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weavedir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weavedir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weavedir)" || exit $$?; \
	done

uninstall-dist_weaveHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_weave_HEADERS)'; test -n "$(weavedir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weavedir)'; $(am__uninstall_files_from_dir)
install-dist_weave_commonHEADERS: $(dist_weave_common_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_weave_common_HEADERS)'; test -n "$(weave_commondir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_commondir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_commondir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_commondir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_commondir)" || exit $$?; \
	done

uninstall-dist_weave_commonHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_weave_common_HEADERS)'; test -n "$(weave_commondir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_commondir)'; $(am__uninstall_files_from_dir)
install-dist_weave_coreHEADERS: $(dist_weave_core_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_weave_core_HEADERS)'; test -n "$(weave_coredir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_coredir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_coredir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_coredir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_coredir)" || exit $$?; \
	done

uninstall-dist_weave_coreHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_weave_core_HEADERS)'; test -n "$(weave_coredir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_coredir)'; $(am__uninstall_files_from_dir)
install-dist_weave_device_layer_baseHEADERS: $(dist_weave_device_layer_base_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_weave_device_layer_base_HEADERS)'; test -n "$(weave_device_layer_basedir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_device_layer_basedir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_device_layer_basedir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_device_layer_basedir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_device_layer_basedir)" || exit $$?; \
	done

uninstall-dist_weave_device_layer_baseHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_weave_device_layer_base_HEADERS)'; test -n "$(weave_device_layer_basedir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_device_layer_basedir)'; $(am__uninstall_files_from_dir)
install-dist_weave_device_layer_freertosHEADERS: $(dist_weave_device_layer_freertos_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_weave_device_layer_freertos_HEADERS)'; test -n "$(weave_device_layer_freertosdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_device_layer_freertosdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_device_layer_freertosdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_device_layer_freertosdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_device_layer_freertosdir)" || exit $$?; \
	done

uninstall-dist_weave_device_layer_freertosHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_weave_device_layer_freertos_HEADERS)'; test -n "$(weave_device_layer_freertosdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_device_layer_freertosdir)'; $(am__uninstall_files_from_dir)
install-dist_weave_device_layer_internalHEADERS: $(dist_weave_device_layer_internal_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_weave_device_layer_internal_HEADERS)'; test -n "$(weave_device_layer_internaldir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_device_layer_internaldir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_device_layer_internaldir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_device_layer_internaldir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_device_layer_internaldir)" || exit $$?; \
	done

uninstall-dist_weave_device_layer_internalHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_weave_device_layer_internal_HEADERS)'; test -n "$(weave_device_layer_internaldir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_device_layer_internaldir)'; $(am__uninstall_files_from_dir)
install-dist_weave_device_layer_targetHEADERS: $(dist_weave_device_layer_target_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_weave_device_layer_target_HEADERS)'; test -n "$(weave_device_layer_targetdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_device_layer_targetdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_device_layer_targetdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_device_layer_targetdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_device_layer_targetdir)" || exit $$?; \
	done

uninstall-dist_weave_device_layer_targetHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_weave_device_layer_target_HEADERS)'; test -n "$(weave_device_layer_targetdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_device_layer_targetdir)'; $(am__uninstall_files_from_dir)
install-dist_weave_support_baseHEADERS: $(dist_weave_support_base_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_weave_support_base_HEADERS)'; test -n "$(weave_support_basedir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_support_basedir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_support_basedir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_support_basedir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_support_basedir)" || exit $$?; \
	done

uninstall-dist_weave_support_baseHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_weave_support_base_HEADERS)'; test -n "$(weave_support_basedir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_support_basedir)'; $(am__uninstall_files_from_dir)
install-dist_weave_support_cryptoHEADERS: $(dist_weave_support_crypto_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_weave_support_crypto_HEADERS)'; test -n "$(weave_support_cryptodir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_support_cryptodir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_support_cryptodir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_support_cryptodir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_support_cryptodir)" || exit $$?; \
	done

uninstall-dist_weave_support_cryptoHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_weave_support_crypto_HEADERS)'; test -n "$(weave_support_cryptodir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_support_cryptodir)'; $(am__uninstall_files_from_dir)
install-dist_weave_support_loggingHEADERS: $(dist_weave_support_logging_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_weave_support_logging_HEADERS)'; test -n "$(weave_support_loggingdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_support_loggingdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_support_loggingdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_support_loggingdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_support_loggingdir)" || exit $$?; \
	done

uninstall-dist_weave_support_loggingHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_weave_support_logging_HEADERS)'; test -n "$(weave_support_loggingdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_support_loggingdir)'; $(am__uninstall_files_from_dir)
install-dist_weave_support_pairing_codeHEADERS: $(dist_weave_support_pairing_code_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_weave_support_pairing_code_HEADERS)'; test -n "$(weave_support_pairing_codedir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_support_pairing_codedir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_support_pairing_codedir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_support_pairing_codedir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_support_pairing_codedir)" || exit $$?; \
	done

uninstall-dist_weave_support_pairing_codeHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_weave_support_pairing_code_HEADERS)'; test -n "$(weave_support_pairing_codedir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_support_pairing_codedir)'; $(am__uninstall_files_from_dir)
install-dist_weave_support_platformHEADERS: $(dist_weave_support_platform_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_weave_support_platform_HEADERS)'; test -n "$(weave_support_platformdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_support_platformdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_support_platformdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_support_platformdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_support_platformdir)" || exit $$?; \
	done

uninstall-dist_weave_support_platformHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_weave_support_platform_HEADERS)'; test -n "$(weave_support_platformdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_support_platformdir)'; $(am__uninstall_files_from_dir)
install-dist_weave_support_verhoeffHEADERS: $(dist_weave_support_verhoeff_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(dist_weave_support_verhoeff_HEADERS)'; test -n "$(weave_support_verhoeffdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_support_verhoeffdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_support_verhoeffdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_support_verhoeffdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_support_verhoeffdir)" || exit $$?; \
	done

uninstall-dist_weave_support_verhoeffHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_weave_support_verhoeff_HEADERS)'; test -n "$(weave_support_verhoeffdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_support_verhoeffdir)'; $(am__uninstall_files_from_dir)
install-includeHEADERS: $(include_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
	done

uninstall-includeHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_baseHEADERS: $(weave_profiles_base_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_base_HEADERS)'; test -n "$(weave_profiles_basedir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_basedir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_basedir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_basedir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_basedir)" || exit $$?; \
	done

uninstall-weave_profiles_baseHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_base_HEADERS)'; test -n "$(weave_profiles_basedir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_basedir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_bulk_data_transferHEADERS: $(weave_profiles_bulk_data_transfer_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_bulk_data_transfer_HEADERS)'; test -n "$(weave_profiles_bulk_data_transferdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_bulk_data_transferdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_bulk_data_transferdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_bulk_data_transferdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_bulk_data_transferdir)" || exit $$?; \
	done

uninstall-weave_profiles_bulk_data_transferHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_bulk_data_transfer_HEADERS)'; test -n "$(weave_profiles_bulk_data_transferdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_bulk_data_transferdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_bulk_data_transfer_currentHEADERS: $(weave_profiles_bulk_data_transfer_current_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_bulk_data_transfer_current_HEADERS)'; test -n "$(weave_profiles_bulk_data_transfer_currentdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_bulk_data_transfer_currentdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_bulk_data_transfer_currentdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_bulk_data_transfer_currentdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_bulk_data_transfer_currentdir)" || exit $$?; \
	done

uninstall-weave_profiles_bulk_data_transfer_currentHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_bulk_data_transfer_current_HEADERS)'; test -n "$(weave_profiles_bulk_data_transfer_currentdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_bulk_data_transfer_currentdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_bulk_data_transfer_developmentHEADERS: $(weave_profiles_bulk_data_transfer_development_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_bulk_data_transfer_development_HEADERS)'; test -n "$(weave_profiles_bulk_data_transfer_developmentdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_bulk_data_transfer_developmentdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_bulk_data_transfer_developmentdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_bulk_data_transfer_developmentdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_bulk_data_transfer_developmentdir)" || exit $$?; \
	done

uninstall-weave_profiles_bulk_data_transfer_developmentHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_bulk_data_transfer_development_HEADERS)'; test -n "$(weave_profiles_bulk_data_transfer_developmentdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_bulk_data_transfer_developmentdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_commonHEADERS: $(weave_profiles_common_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_common_HEADERS)'; test -n "$(weave_profiles_commondir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_commondir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_commondir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_commondir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_commondir)" || exit $$?; \
	done

uninstall-weave_profiles_commonHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_common_HEADERS)'; test -n "$(weave_profiles_commondir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_commondir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_data_managementHEADERS: $(weave_profiles_data_management_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_data_management_HEADERS)'; test -n "$(weave_profiles_data_managementdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_data_managementdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_data_managementdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_data_managementdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_data_managementdir)" || exit $$?; \
	done

uninstall-weave_profiles_data_managementHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_data_management_HEADERS)'; test -n "$(weave_profiles_data_managementdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_data_managementdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_data_management_currentHEADERS: $(weave_profiles_data_management_current_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_data_management_current_HEADERS)'; test -n "$(weave_profiles_data_management_currentdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_data_management_currentdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_data_management_currentdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_data_management_currentdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_data_management_currentdir)" || exit $$?; \
	done

uninstall-weave_profiles_data_management_currentHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_data_management_current_HEADERS)'; test -n "$(weave_profiles_data_management_currentdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_data_management_currentdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_data_management_legacyHEADERS: $(weave_profiles_data_management_legacy_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_data_management_legacy_HEADERS)'; test -n "$(weave_profiles_data_management_legacydir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_data_management_legacydir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_data_management_legacydir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_data_management_legacydir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_data_management_legacydir)" || exit $$?; \
	done

uninstall-weave_profiles_data_management_legacyHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_data_management_legacy_HEADERS)'; test -n "$(weave_profiles_data_management_legacydir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_data_management_legacydir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_device_controlHEADERS: $(weave_profiles_device_control_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_device_control_HEADERS)'; test -n "$(weave_profiles_device_controldir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_device_controldir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_device_controldir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_device_controldir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_device_controldir)" || exit $$?; \
	done

uninstall-weave_profiles_device_controlHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_device_control_HEADERS)'; test -n "$(weave_profiles_device_controldir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_device_controldir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_device_descriptionHEADERS: $(weave_profiles_device_description_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_device_description_HEADERS)'; test -n "$(weave_profiles_device_descriptiondir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_device_descriptiondir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_device_descriptiondir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_device_descriptiondir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_device_descriptiondir)" || exit $$?; \
	done

uninstall-weave_profiles_device_descriptionHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_device_description_HEADERS)'; test -n "$(weave_profiles_device_descriptiondir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_device_descriptiondir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_echoHEADERS: $(weave_profiles_echo_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_echo_HEADERS)'; test -n "$(weave_profiles_echodir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_echodir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_echodir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_echodir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_echodir)" || exit $$?; \
	done

uninstall-weave_profiles_echoHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_echo_HEADERS)'; test -n "$(weave_profiles_echodir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_echodir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_echo_currentHEADERS: $(weave_profiles_echo_current_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_echo_current_HEADERS)'; test -n "$(weave_profiles_echo_currentdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_echo_currentdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_echo_currentdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_echo_currentdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_echo_currentdir)" || exit $$?; \
	done

uninstall-weave_profiles_echo_currentHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_echo_current_HEADERS)'; test -n "$(weave_profiles_echo_currentdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_echo_currentdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_echo_nextHEADERS: $(weave_profiles_echo_next_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_echo_next_HEADERS)'; test -n "$(weave_profiles_echo_nextdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_echo_nextdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_echo_nextdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_echo_nextdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_echo_nextdir)" || exit $$?; \
	done

uninstall-weave_profiles_echo_nextHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_echo_next_HEADERS)'; test -n "$(weave_profiles_echo_nextdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_echo_nextdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_fabric_provisioningHEADERS: $(weave_profiles_fabric_provisioning_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_fabric_provisioning_HEADERS)'; test -n "$(weave_profiles_fabric_provisioningdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_fabric_provisioningdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_fabric_provisioningdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_fabric_provisioningdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_fabric_provisioningdir)" || exit $$?; \
	done

uninstall-weave_profiles_fabric_provisioningHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_fabric_provisioning_HEADERS)'; test -n "$(weave_profiles_fabric_provisioningdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_fabric_provisioningdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_heartbeatHEADERS: $(weave_profiles_heartbeat_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_heartbeat_HEADERS)'; test -n "$(weave_profiles_heartbeatdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_heartbeatdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_heartbeatdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_heartbeatdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_heartbeatdir)" || exit $$?; \
	done

uninstall-weave_profiles_heartbeatHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_heartbeat_HEADERS)'; test -n "$(weave_profiles_heartbeatdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_heartbeatdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_localeHEADERS: $(weave_profiles_locale_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_locale_HEADERS)'; test -n "$(weave_profiles_localedir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_localedir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_localedir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_localedir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_localedir)" || exit $$?; \
	done

uninstall-weave_profiles_localeHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_locale_HEADERS)'; test -n "$(weave_profiles_localedir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_localedir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_nestlabs_boilerHEADERS: $(weave_profiles_nestlabs_boiler_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_nestlabs_boiler_HEADERS)'; test -n "$(weave_profiles_nestlabs_boilerdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_nestlabs_boilerdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_nestlabs_boilerdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_nestlabs_boilerdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_nestlabs_boilerdir)" || exit $$?; \
	done

uninstall-weave_profiles_nestlabs_boilerHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_nestlabs_boiler_HEADERS)'; test -n "$(weave_profiles_nestlabs_boilerdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_nestlabs_boilerdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_nestlabs_device_descriptionHEADERS: $(weave_profiles_nestlabs_device_description_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_nestlabs_device_description_HEADERS)'; test -n "$(weave_profiles_nestlabs_device_descriptiondir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_nestlabs_device_descriptiondir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_nestlabs_device_descriptiondir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_nestlabs_device_descriptiondir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_nestlabs_device_descriptiondir)" || exit $$?; \
	done

uninstall-weave_profiles_nestlabs_device_descriptionHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_nestlabs_device_description_HEADERS)'; test -n "$(weave_profiles_nestlabs_device_descriptiondir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_nestlabs_device_descriptiondir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_nestlabs_domestic_hot_waterHEADERS: $(weave_profiles_nestlabs_domestic_hot_water_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_nestlabs_domestic_hot_water_HEADERS)'; test -n "$(weave_profiles_nestlabs_domestic_hot_waterdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_nestlabs_domestic_hot_waterdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_nestlabs_domestic_hot_waterdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_nestlabs_domestic_hot_waterdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_nestlabs_domestic_hot_waterdir)" || exit $$?; \
	done

uninstall-weave_profiles_nestlabs_domestic_hot_waterHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_nestlabs_domestic_hot_water_HEADERS)'; test -n "$(weave_profiles_nestlabs_domestic_hot_waterdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_nestlabs_domestic_hot_waterdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_nestlabs_dropcam_legacy_pairingHEADERS: $(weave_profiles_nestlabs_dropcam_legacy_pairing_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_nestlabs_dropcam_legacy_pairing_HEADERS)'; test -n "$(weave_profiles_nestlabs_dropcam_legacy_pairingdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_nestlabs_dropcam_legacy_pairingdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_nestlabs_dropcam_legacy_pairingdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_nestlabs_dropcam_legacy_pairingdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_nestlabs_dropcam_legacy_pairingdir)" || exit $$?; \
	done

uninstall-weave_profiles_nestlabs_dropcam_legacy_pairingHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_nestlabs_dropcam_legacy_pairing_HEADERS)'; test -n "$(weave_profiles_nestlabs_dropcam_legacy_pairingdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_nestlabs_dropcam_legacy_pairingdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_nestlabs_heat_linkHEADERS: $(weave_profiles_nestlabs_heat_link_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_nestlabs_heat_link_HEADERS)'; test -n "$(weave_profiles_nestlabs_heat_linkdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_nestlabs_heat_linkdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_nestlabs_heat_linkdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_nestlabs_heat_linkdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_nestlabs_heat_linkdir)" || exit $$?; \
	done

uninstall-weave_profiles_nestlabs_heat_linkHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_nestlabs_heat_link_HEADERS)'; test -n "$(weave_profiles_nestlabs_heat_linkdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_nestlabs_heat_linkdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_nestlabs_hvac_equipment_controlHEADERS: $(weave_profiles_nestlabs_hvac_equipment_control_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_nestlabs_hvac_equipment_control_HEADERS)'; test -n "$(weave_profiles_nestlabs_hvac_equipment_controldir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_nestlabs_hvac_equipment_controldir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_nestlabs_hvac_equipment_controldir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_nestlabs_hvac_equipment_controldir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_nestlabs_hvac_equipment_controldir)" || exit $$?; \
	done

uninstall-weave_profiles_nestlabs_hvac_equipment_controlHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_nestlabs_hvac_equipment_control_HEADERS)'; test -n "$(weave_profiles_nestlabs_hvac_equipment_controldir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_nestlabs_hvac_equipment_controldir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_nestlabs_protectHEADERS: $(weave_profiles_nestlabs_protect_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_nestlabs_protect_HEADERS)'; test -n "$(weave_profiles_nestlabs_protectdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_nestlabs_protectdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_nestlabs_protectdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_nestlabs_protectdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_nestlabs_protectdir)" || exit $$?; \
	done

uninstall-weave_profiles_nestlabs_protectHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_nestlabs_protect_HEADERS)'; test -n "$(weave_profiles_nestlabs_protectdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_nestlabs_protectdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_nestlabs_thermostatHEADERS: $(weave_profiles_nestlabs_thermostat_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_nestlabs_thermostat_HEADERS)'; test -n "$(weave_profiles_nestlabs_thermostatdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_nestlabs_thermostatdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_nestlabs_thermostatdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_nestlabs_thermostatdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_nestlabs_thermostatdir)" || exit $$?; \
	done

uninstall-weave_profiles_nestlabs_thermostatHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_nestlabs_thermostat_HEADERS)'; test -n "$(weave_profiles_nestlabs_thermostatdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_nestlabs_thermostatdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_nestlabs_time_variant_dataHEADERS: $(weave_profiles_nestlabs_time_variant_data_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_nestlabs_time_variant_data_HEADERS)'; test -n "$(weave_profiles_nestlabs_time_variant_datadir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_nestlabs_time_variant_datadir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_nestlabs_time_variant_datadir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_nestlabs_time_variant_datadir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_nestlabs_time_variant_datadir)" || exit $$?; \
	done

uninstall-weave_profiles_nestlabs_time_variant_dataHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_nestlabs_time_variant_data_HEADERS)'; test -n "$(weave_profiles_nestlabs_time_variant_datadir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_nestlabs_time_variant_datadir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_network_provisioningHEADERS: $(weave_profiles_network_provisioning_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_network_provisioning_HEADERS)'; test -n "$(weave_profiles_network_provisioningdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_network_provisioningdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_network_provisioningdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_network_provisioningdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_network_provisioningdir)" || exit $$?; \
	done

uninstall-weave_profiles_network_provisioningHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_network_provisioning_HEADERS)'; test -n "$(weave_profiles_network_provisioningdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_network_provisioningdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_securityHEADERS: $(weave_profiles_security_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_security_HEADERS)'; test -n "$(weave_profiles_securitydir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_securitydir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_securitydir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_securitydir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_securitydir)" || exit $$?; \
	done

uninstall-weave_profiles_securityHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_security_HEADERS)'; test -n "$(weave_profiles_securitydir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_securitydir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_service_directoryHEADERS: $(weave_profiles_service_directory_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_service_directory_HEADERS)'; test -n "$(weave_profiles_service_directorydir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_service_directorydir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_service_directorydir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_service_directorydir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_service_directorydir)" || exit $$?; \
	done

uninstall-weave_profiles_service_directoryHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_service_directory_HEADERS)'; test -n "$(weave_profiles_service_directorydir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_service_directorydir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_service_provisioningHEADERS: $(weave_profiles_service_provisioning_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_service_provisioning_HEADERS)'; test -n "$(weave_profiles_service_provisioningdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_service_provisioningdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_service_provisioningdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_service_provisioningdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_service_provisioningdir)" || exit $$?; \
	done

uninstall-weave_profiles_service_provisioningHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_service_provisioning_HEADERS)'; test -n "$(weave_profiles_service_provisioningdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_service_provisioningdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_software_updateHEADERS: $(weave_profiles_software_update_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_software_update_HEADERS)'; test -n "$(weave_profiles_software_updatedir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_software_updatedir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_software_updatedir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_software_updatedir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_software_updatedir)" || exit $$?; \
	done

uninstall-weave_profiles_software_updateHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_software_update_HEADERS)'; test -n "$(weave_profiles_software_updatedir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_software_updatedir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_status_reportHEADERS: $(weave_profiles_status_report_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_status_report_HEADERS)'; test -n "$(weave_profiles_status_reportdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_status_reportdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_status_reportdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_status_reportdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_status_reportdir)" || exit $$?; \
	done

uninstall-weave_profiles_status_reportHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_status_report_HEADERS)'; test -n "$(weave_profiles_status_reportdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_status_reportdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_timeHEADERS: $(weave_profiles_time_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_time_HEADERS)'; test -n "$(weave_profiles_timedir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_timedir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_timedir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_timedir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_timedir)" || exit $$?; \
	done

uninstall-weave_profiles_timeHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_time_HEADERS)'; test -n "$(weave_profiles_timedir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_timedir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_token_pairingHEADERS: $(weave_profiles_token_pairing_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_token_pairing_HEADERS)'; test -n "$(weave_profiles_token_pairingdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_token_pairingdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_token_pairingdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_token_pairingdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_token_pairingdir)" || exit $$?; \
	done

uninstall-weave_profiles_token_pairingHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(weave_profiles_token_pairing_HEADERS)'; test -n "$(weave_profiles_token_pairingdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(weave_profiles_token_pairingdir)'; $(am__uninstall_files_from_dir)
install-weave_profiles_weave_tunnelingHEADERS: $(weave_profiles_weave_tunneling_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(weave_profiles_weave_tunneling_HEADERS)'; test -n "$(weave_profiles_weave_tunnelingdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(weave_profiles_weave_tunnelingdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(weave_profiles_weave_tunnelingdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(weave_profiles_weave_tunnelingdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(weave_profiles_weave_tunnelingdir)" || exit $$?; \
	done

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

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

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

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

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && $(am__cd) $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) "$$here"
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
	$(MAKE) $(AM_MAKEFLAGS) \
	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
	  dist-hook
check-am: all-am
check: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(HEADERS) BuildConfig.h
installdirs:
	for dir in "$(DESTDIR)$(ble_bledir)" "$(DESTDIR)$(ble_device_managerdir)" "$(DESTDIR)$(inetdir)" "$(DESTDIR)$(micro_eccdir)" "$(DESTDIR)$(mincryptdir)" "$(DESTDIR)$(platform_ble_bluezdir)" "$(DESTDIR)$(systemdir)" "$(DESTDIR)$(warmdir)" "$(DESTDIR)$(weavedir)" "$(DESTDIR)$(weave_commondir)" "$(DESTDIR)$(weave_coredir)" "$(DESTDIR)$(weave_device_layer_basedir)" "$(DESTDIR)$(weave_device_layer_freertosdir)" "$(DESTDIR)$(weave_device_layer_internaldir)" "$(DESTDIR)$(weave_device_layer_targetdir)" "$(DESTDIR)$(weave_support_basedir)" "$(DESTDIR)$(weave_support_cryptodir)" "$(DESTDIR)$(weave_support_loggingdir)" "$(DESTDIR)$(weave_support_pairing_codedir)" "$(DESTDIR)$(weave_support_platformdir)" "$(DESTDIR)$(weave_support_verhoeffdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(weave_profiles_basedir)" "$(DESTDIR)$(weave_profiles_bulk_data_transferdir)" "$(DESTDIR)$(weave_profiles_bulk_data_transfer_currentdir)" "$(DESTDIR)$(weave_profiles_bulk_data_transfer_developmentdir)" "$(DESTDIR)$(weave_profiles_commondir)" "$(DESTDIR)$(weave_profiles_data_managementdir)" "$(DESTDIR)$(weave_profiles_data_management_currentdir)" "$(DESTDIR)$(weave_profiles_data_management_legacydir)" "$(DESTDIR)$(weave_profiles_device_controldir)" "$(DESTDIR)$(weave_profiles_device_descriptiondir)" "$(DESTDIR)$(weave_profiles_echodir)" "$(DESTDIR)$(weave_profiles_echo_currentdir)" "$(DESTDIR)$(weave_profiles_echo_nextdir)" "$(DESTDIR)$(weave_profiles_fabric_provisioningdir)" "$(DESTDIR)$(weave_profiles_heartbeatdir)" "$(DESTDIR)$(weave_profiles_localedir)" "$(DESTDIR)$(weave_profiles_nestlabs_boilerdir)" "$(DESTDIR)$(weave_profiles_nestlabs_device_descriptiondir)" "$(DESTDIR)$(weave_profiles_nestlabs_domestic_hot_waterdir)" "$(DESTDIR)$(weave_profiles_nestlabs_dropcam_legacy_pairingdir)" "$(DESTDIR)$(weave_profiles_nestlabs_heat_linkdir)" "$(DESTDIR)$(weave_profiles_nestlabs_hvac_equipment_controldir)" "$(DESTDIR)$(weave_profiles_nestlabs_protectdir)" "$(DESTDIR)$(weave_profiles_nestlabs_thermostatdir)" "$(DESTDIR)$(weave_profiles_nestlabs_time_variant_datadir)" "$(DESTDIR)$(weave_profiles_network_provisioningdir)" "$(DESTDIR)$(weave_profiles_securitydir)" "$(DESTDIR)$(weave_profiles_service_directorydir)" "$(DESTDIR)$(weave_profiles_service_provisioningdir)" "$(DESTDIR)$(weave_profiles_software_updatedir)" "$(DESTDIR)$(weave_profiles_status_reportdir)" "$(DESTDIR)$(weave_profiles_timedir)" "$(DESTDIR)$(weave_profiles_token_pairingdir)" "$(DESTDIR)$(weave_profiles_weave_tunnelingdir)"; do \
	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
	done
install: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) 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:
	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)

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."
	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-am

clean-am: clean-generic clean-libtool clean-local mostlyclean-am

distclean: distclean-am
	-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am: install-dist_ble_bleHEADERS \
	install-dist_ble_device_managerHEADERS \
	install-dist_inetHEADERS install-dist_micro_eccHEADERS \
	install-dist_mincryptHEADERS \
	install-dist_platform_ble_bluezHEADERS \
	install-dist_systemHEADERS install-dist_warmHEADERS \
	install-dist_weaveHEADERS install-dist_weave_commonHEADERS \
	install-dist_weave_coreHEADERS \
	install-dist_weave_device_layer_baseHEADERS \
	install-dist_weave_device_layer_freertosHEADERS \
	install-dist_weave_device_layer_internalHEADERS \
	install-dist_weave_device_layer_targetHEADERS \
	install-dist_weave_support_baseHEADERS \
	install-dist_weave_support_cryptoHEADERS \
	install-dist_weave_support_loggingHEADERS \
	install-dist_weave_support_pairing_codeHEADERS \
	install-dist_weave_support_platformHEADERS \
	install-dist_weave_support_verhoeffHEADERS \
	install-includeHEADERS install-weave_profiles_baseHEADERS \
	install-weave_profiles_bulk_data_transferHEADERS \
	install-weave_profiles_bulk_data_transfer_currentHEADERS \
	install-weave_profiles_bulk_data_transfer_developmentHEADERS \
	install-weave_profiles_commonHEADERS \
	install-weave_profiles_data_managementHEADERS \
	install-weave_profiles_data_management_currentHEADERS \
	install-weave_profiles_data_management_legacyHEADERS \
	install-weave_profiles_device_controlHEADERS \
	install-weave_profiles_device_descriptionHEADERS \
	install-weave_profiles_echoHEADERS \
	install-weave_profiles_echo_currentHEADERS \
	install-weave_profiles_echo_nextHEADERS \
	install-weave_profiles_fabric_provisioningHEADERS \
	install-weave_profiles_heartbeatHEADERS \
	install-weave_profiles_localeHEADERS \
	install-weave_profiles_nestlabs_boilerHEADERS \
	install-weave_profiles_nestlabs_device_descriptionHEADERS \
	install-weave_profiles_nestlabs_domestic_hot_waterHEADERS \
	install-weave_profiles_nestlabs_dropcam_legacy_pairingHEADERS \
	install-weave_profiles_nestlabs_heat_linkHEADERS \
	install-weave_profiles_nestlabs_hvac_equipment_controlHEADERS \
	install-weave_profiles_nestlabs_protectHEADERS \
	install-weave_profiles_nestlabs_thermostatHEADERS \
	install-weave_profiles_nestlabs_time_variant_dataHEADERS \
	install-weave_profiles_network_provisioningHEADERS \
	install-weave_profiles_securityHEADERS \
	install-weave_profiles_service_directoryHEADERS \
	install-weave_profiles_service_provisioningHEADERS \
	install-weave_profiles_software_updateHEADERS \
	install-weave_profiles_status_reportHEADERS \
	install-weave_profiles_timeHEADERS \
	install-weave_profiles_token_pairingHEADERS \
	install-weave_profiles_weave_tunnelingHEADERS

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am:

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-generic mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-dist_ble_bleHEADERS \
	uninstall-dist_ble_device_managerHEADERS \
	uninstall-dist_inetHEADERS uninstall-dist_micro_eccHEADERS \
	uninstall-dist_mincryptHEADERS \
	uninstall-dist_platform_ble_bluezHEADERS \
	uninstall-dist_systemHEADERS uninstall-dist_warmHEADERS \
	uninstall-dist_weaveHEADERS uninstall-dist_weave_commonHEADERS \
	uninstall-dist_weave_coreHEADERS \
	uninstall-dist_weave_device_layer_baseHEADERS \
	uninstall-dist_weave_device_layer_freertosHEADERS \
	uninstall-dist_weave_device_layer_internalHEADERS \
	uninstall-dist_weave_device_layer_targetHEADERS \
	uninstall-dist_weave_support_baseHEADERS \
	uninstall-dist_weave_support_cryptoHEADERS \
	uninstall-dist_weave_support_loggingHEADERS \
	uninstall-dist_weave_support_pairing_codeHEADERS \
	uninstall-dist_weave_support_platformHEADERS \
	uninstall-dist_weave_support_verhoeffHEADERS \
	uninstall-includeHEADERS uninstall-weave_profiles_baseHEADERS \
	uninstall-weave_profiles_bulk_data_transferHEADERS \
	uninstall-weave_profiles_bulk_data_transfer_currentHEADERS \
	uninstall-weave_profiles_bulk_data_transfer_developmentHEADERS \
	uninstall-weave_profiles_commonHEADERS \
	uninstall-weave_profiles_data_managementHEADERS \
	uninstall-weave_profiles_data_management_currentHEADERS \
	uninstall-weave_profiles_data_management_legacyHEADERS \
	uninstall-weave_profiles_device_controlHEADERS \
	uninstall-weave_profiles_device_descriptionHEADERS \
	uninstall-weave_profiles_echoHEADERS \
	uninstall-weave_profiles_echo_currentHEADERS \
	uninstall-weave_profiles_echo_nextHEADERS \
	uninstall-weave_profiles_fabric_provisioningHEADERS \
	uninstall-weave_profiles_heartbeatHEADERS \
	uninstall-weave_profiles_localeHEADERS \
	uninstall-weave_profiles_nestlabs_boilerHEADERS \
	uninstall-weave_profiles_nestlabs_device_descriptionHEADERS \
	uninstall-weave_profiles_nestlabs_domestic_hot_waterHEADERS \
	uninstall-weave_profiles_nestlabs_dropcam_legacy_pairingHEADERS \
	uninstall-weave_profiles_nestlabs_heat_linkHEADERS \
	uninstall-weave_profiles_nestlabs_hvac_equipment_controlHEADERS \
	uninstall-weave_profiles_nestlabs_protectHEADERS \
	uninstall-weave_profiles_nestlabs_thermostatHEADERS \
	uninstall-weave_profiles_nestlabs_time_variant_dataHEADERS \
	uninstall-weave_profiles_network_provisioningHEADERS \
	uninstall-weave_profiles_securityHEADERS \
	uninstall-weave_profiles_service_directoryHEADERS \
	uninstall-weave_profiles_service_provisioningHEADERS \
	uninstall-weave_profiles_software_updateHEADERS \
	uninstall-weave_profiles_status_reportHEADERS \
	uninstall-weave_profiles_timeHEADERS \
	uninstall-weave_profiles_token_pairingHEADERS \
	uninstall-weave_profiles_weave_tunnelingHEADERS

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

.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
	clean-libtool clean-local cscopelist-am ctags ctags-am \
	dist-hook distclean distclean-generic distclean-hdr \
	distclean-libtool distclean-tags distdir dvi dvi-am html \
	html-am info info-am install install-am install-data \
	install-data-am install-dist_ble_bleHEADERS \
	install-dist_ble_device_managerHEADERS \
	install-dist_inetHEADERS install-dist_micro_eccHEADERS \
	install-dist_mincryptHEADERS \
	install-dist_platform_ble_bluezHEADERS \
	install-dist_systemHEADERS install-dist_warmHEADERS \
	install-dist_weaveHEADERS install-dist_weave_commonHEADERS \
	install-dist_weave_coreHEADERS \
	install-dist_weave_device_layer_baseHEADERS \
	install-dist_weave_device_layer_freertosHEADERS \
	install-dist_weave_device_layer_internalHEADERS \
	install-dist_weave_device_layer_targetHEADERS \
	install-dist_weave_support_baseHEADERS \
	install-dist_weave_support_cryptoHEADERS \
	install-dist_weave_support_loggingHEADERS \
	install-dist_weave_support_pairing_codeHEADERS \
	install-dist_weave_support_platformHEADERS \
	install-dist_weave_support_verhoeffHEADERS install-dvi \
	install-dvi-am install-exec install-exec-am install-html \
	install-html-am install-includeHEADERS install-info \
	install-info-am install-man install-pdf install-pdf-am \
	install-ps install-ps-am install-strip \
	install-weave_profiles_baseHEADERS \
	install-weave_profiles_bulk_data_transferHEADERS \
	install-weave_profiles_bulk_data_transfer_currentHEADERS \
	install-weave_profiles_bulk_data_transfer_developmentHEADERS \
	install-weave_profiles_commonHEADERS \
	install-weave_profiles_data_managementHEADERS \
	install-weave_profiles_data_management_currentHEADERS \
	install-weave_profiles_data_management_legacyHEADERS \
	install-weave_profiles_device_controlHEADERS \
	install-weave_profiles_device_descriptionHEADERS \
	install-weave_profiles_echoHEADERS \
	install-weave_profiles_echo_currentHEADERS \
	install-weave_profiles_echo_nextHEADERS \
	install-weave_profiles_fabric_provisioningHEADERS \
	install-weave_profiles_heartbeatHEADERS \
	install-weave_profiles_localeHEADERS \
	install-weave_profiles_nestlabs_boilerHEADERS \
	install-weave_profiles_nestlabs_device_descriptionHEADERS \
	install-weave_profiles_nestlabs_domestic_hot_waterHEADERS \
	install-weave_profiles_nestlabs_dropcam_legacy_pairingHEADERS \
	install-weave_profiles_nestlabs_heat_linkHEADERS \
	install-weave_profiles_nestlabs_hvac_equipment_controlHEADERS \
	install-weave_profiles_nestlabs_protectHEADERS \
	install-weave_profiles_nestlabs_thermostatHEADERS \
	install-weave_profiles_nestlabs_time_variant_dataHEADERS \
	install-weave_profiles_network_provisioningHEADERS \
	install-weave_profiles_securityHEADERS \
	install-weave_profiles_service_directoryHEADERS \
	install-weave_profiles_service_provisioningHEADERS \
	install-weave_profiles_software_updateHEADERS \
	install-weave_profiles_status_reportHEADERS \
	install-weave_profiles_timeHEADERS \
	install-weave_profiles_token_pairingHEADERS \
	install-weave_profiles_weave_tunnelingHEADERS installcheck \
	installcheck-am installdirs maintainer-clean \
	maintainer-clean-generic mostlyclean mostlyclean-generic \
	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
	uninstall-am uninstall-dist_ble_bleHEADERS \
	uninstall-dist_ble_device_managerHEADERS \
	uninstall-dist_inetHEADERS uninstall-dist_micro_eccHEADERS \
	uninstall-dist_mincryptHEADERS \
	uninstall-dist_platform_ble_bluezHEADERS \
	uninstall-dist_systemHEADERS uninstall-dist_warmHEADERS \
	uninstall-dist_weaveHEADERS uninstall-dist_weave_commonHEADERS \
	uninstall-dist_weave_coreHEADERS \
	uninstall-dist_weave_device_layer_baseHEADERS \
	uninstall-dist_weave_device_layer_freertosHEADERS \
	uninstall-dist_weave_device_layer_internalHEADERS \
	uninstall-dist_weave_device_layer_targetHEADERS \
	uninstall-dist_weave_support_baseHEADERS \
	uninstall-dist_weave_support_cryptoHEADERS \
	uninstall-dist_weave_support_loggingHEADERS \
	uninstall-dist_weave_support_pairing_codeHEADERS \
	uninstall-dist_weave_support_platformHEADERS \
	uninstall-dist_weave_support_verhoeffHEADERS \
	uninstall-includeHEADERS uninstall-weave_profiles_baseHEADERS \
	uninstall-weave_profiles_bulk_data_transferHEADERS \
	uninstall-weave_profiles_bulk_data_transfer_currentHEADERS \
	uninstall-weave_profiles_bulk_data_transfer_developmentHEADERS \
	uninstall-weave_profiles_commonHEADERS \
	uninstall-weave_profiles_data_managementHEADERS \
	uninstall-weave_profiles_data_management_currentHEADERS \
	uninstall-weave_profiles_data_management_legacyHEADERS \
	uninstall-weave_profiles_device_controlHEADERS \
	uninstall-weave_profiles_device_descriptionHEADERS \
	uninstall-weave_profiles_echoHEADERS \
	uninstall-weave_profiles_echo_currentHEADERS \
	uninstall-weave_profiles_echo_nextHEADERS \
	uninstall-weave_profiles_fabric_provisioningHEADERS \
	uninstall-weave_profiles_heartbeatHEADERS \
	uninstall-weave_profiles_localeHEADERS \
	uninstall-weave_profiles_nestlabs_boilerHEADERS \
	uninstall-weave_profiles_nestlabs_device_descriptionHEADERS \
	uninstall-weave_profiles_nestlabs_domestic_hot_waterHEADERS \
	uninstall-weave_profiles_nestlabs_dropcam_legacy_pairingHEADERS \
	uninstall-weave_profiles_nestlabs_heat_linkHEADERS \
	uninstall-weave_profiles_nestlabs_hvac_equipment_controlHEADERS \
	uninstall-weave_profiles_nestlabs_protectHEADERS \
	uninstall-weave_profiles_nestlabs_thermostatHEADERS \
	uninstall-weave_profiles_nestlabs_time_variant_dataHEADERS \
	uninstall-weave_profiles_network_provisioningHEADERS \
	uninstall-weave_profiles_securityHEADERS \
	uninstall-weave_profiles_service_directoryHEADERS \
	uninstall-weave_profiles_service_provisioningHEADERS \
	uninstall-weave_profiles_software_updateHEADERS \
	uninstall-weave_profiles_status_reportHEADERS \
	uninstall-weave_profiles_timeHEADERS \
	uninstall-weave_profiles_token_pairingHEADERS \
	uninstall-weave_profiles_weave_tunnelingHEADERS


include $(abs_top_nlbuild_autotools_dir)/automake/pre.am

@CONFIG_NETWORK_LAYER_BLE_TRUE@$(nl_public_BleLayer_ble_header_dirs):
@CONFIG_NETWORK_LAYER_BLE_TRUE@	$(call create-directory)

@CONFIG_NETWORK_LAYER_BLE_TRUE@$(nl_public_BleLayer_ble_header_destinations): $(nl_public_BleLayer_ble_destination_dirstem)/%.h: $(abs_srcdir)/../$(nl_public_BleLayer_ble_source_dirstem)/%.h | $(nl_public_BleLayer_ble_header_dirs)
@CONFIG_NETWORK_LAYER_BLE_TRUE@	$(call create-link)

@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_ENABLE_WOBLE_TEST_TRUE@$(nl_public_BleLayer_device_manager_header_dirs):
@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_ENABLE_WOBLE_TEST_TRUE@	$(call create-directory)

@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_ENABLE_WOBLE_TEST_TRUE@$(nl_public_BleLayer_device_manager_header_destinations): $(nl_public_BleLayer_device_manager_destination_dirstem)/%.h: $(abs_srcdir)/../$(nl_public_BleLayer_device_manager_source_dirstem)/%.h | $(nl_public_BleLayer_device_manager_header_dirs)
@CONFIG_NETWORK_LAYER_BLE_TRUE@@WEAVE_ENABLE_WOBLE_TEST_TRUE@	$(call create-link)

$(nl_public_InetLayer_header_dirs):
	$(call create-directory)

$(nl_public_InetLayer_header_destinations): $(nl_public_InetLayer_destination_dirstem)/%.h: $(abs_srcdir)/../$(nl_public_InetLayer_source_dirstem)/%.h | $(nl_public_InetLayer_header_dirs)
	$(call create-link)

$(platform_ble_bluez_public_header_dirs):
	$(call create-directory)

$(platform_ble_bluez_public_header_destinations): $(platform_ble_bluez_public_destination_dirstem)/%.h: $(abs_srcdir)/../$(platform_ble_bluez_public_source_dirstem)/%.h | $(platform_ble_bluez_public_header_dirs)
	$(call create-link)

$(nl_public_SystemLayer_header_dirs):
	$(call create-directory)

$(nl_public_SystemLayer_header_destinations): $(nl_public_SystemLayer_destination_dirstem)/%.h: $(abs_srcdir)/../$(nl_public_SystemLayer_source_dirstem)/%.h | $(nl_public_SystemLayer_header_dirs)
	$(call create-link)

$(nl_public_Warm_header_dirs):
	$(call create-directory)

$(nl_public_Warm_header_destinations): $(nl_public_Warm_destination_dirstem)/%.h: $(abs_srcdir)/../$(nl_public_Warm_source_dirstem)/%.h | $(nl_public_Warm_header_dirs)
	$(call create-link)

$(nl_public_Weave_header_dirs):
	$(call create-directory)

# Auto-generation targets to force the creation and subsequent check
# and re-generation of Weave/WeaveVersion.h.

.PHONY: force
$(nl_public_Weave_destination_dirstem)/WeaveVersion.h: force

define check-file-WeaveVersion.h
$(top_srcdir)/build/scripts/gen-weave-version "`cat $(1)`" -o "$(2)"
endef # check-file-WeaveVersion.h

$(nl_public_Weave_destination_dirstem)/WeaveVersion.h: $(top_builddir)/.local-version | $(nl_public_Weave_destination_dirstem)
	$(call check-file,WeaveVersion.h)

$(nl_public_WeaveSupport_header_dirs):
	$(call create-directory)

$(filter %.h,$(nl_public_WeaveSupport_header_destinations)): $(nl_public_WeaveSupport_destination_dirstem)/%.h: $(abs_srcdir)/../$(nl_public_WeaveSupport_source_dirstem)/%.h | $(nl_public_WeaveSupport_header_dirs)
	$(call create-link)

$(filter %.hpp,$(nl_public_WeaveSupport_header_destinations)): $(nl_public_WeaveSupport_destination_dirstem)/%.hpp: $(abs_srcdir)/../$(nl_public_WeaveSupport_source_dirstem)/%.hpp | $(nl_public_WeaveSupport_header_dirs)
	$(call create-link)

$(nl_public_WeaveCore_header_dirs):
	$(call create-directory)

$(filter %.h,$(nl_public_WeaveCore_header_destinations)): $(nl_public_WeaveCore_destination_dirstem)/%.h: $(abs_srcdir)/../$(nl_public_WeaveCore_source_dirstem)/%.h | $(nl_public_WeaveCore_header_dirs)
	$(call create-link)

$(filter %.hpp,$(nl_public_WeaveCore_header_destinations)): $(nl_public_WeaveCore_destination_dirstem)/%.hpp: $(abs_srcdir)/../$(nl_public_WeaveCore_source_dirstem)/%.hpp | $(nl_public_WeaveCore_header_dirs)
	$(call create-link)

$(nl_public_WeaveProfiles_header_dirs):
	$(call create-directory)

$(filter %.h,$(nl_public_WeaveProfiles_header_destinations)): $(nl_public_WeaveProfiles_destination_dirstem)/%.h: $(abs_srcdir)/../$(nl_public_WeaveProfiles_source_dirstem)/%.h | $(nl_public_WeaveProfiles_header_dirs)
	$(call create-link)

$(filter %.hpp,$(nl_public_WeaveProfiles_header_destinations)): $(nl_public_WeaveProfiles_destination_dirstem)/%.hpp: $(abs_srcdir)/../$(nl_public_WeaveProfiles_source_dirstem)/%.hpp | $(nl_public_WeaveProfiles_header_dirs)
	$(call create-link)

$(nl_public_WeaveCommon_header_dirs):
	$(call create-directory)

$(filter %.h,$(nl_public_WeaveCommon_header_destinations)): $(nl_public_WeaveCommon_destination_dirstem)/%.h: $(abs_srcdir)/../$(nl_public_WeaveCommon_source_dirstem)/%.h | $(nl_public_WeaveCommon_header_dirs)
	$(call create-link)

$(filter %.hpp,$(nl_public_WeaveCommon_header_destinations)): $(nl_public_WeaveCommon_destination_dirstem)/%.hpp: $(abs_srcdir)/../$(nl_public_WeaveCommon_source_dirstem)/%.hpp | $(nl_public_WeaveCommon_header_dirs)
	$(call create-link)

@CONFIG_DEVICE_LAYER_TRUE@$(nl_public_WeaveDeviceLayer_header_dirs):
@CONFIG_DEVICE_LAYER_TRUE@	$(call create-directory)

@CONFIG_DEVICE_LAYER_TRUE@$(filter %.h,$(nl_public_WeaveDeviceLayer_header_destinations)): $(nl_public_WeaveDeviceLayer_destination_dirstem)/%.h: $(abs_srcdir)/../$(nl_public_WeaveDeviceLayer_source_dirstem)/%.h | $(nl_public_WeaveDeviceLayer_header_dirs)
@CONFIG_DEVICE_LAYER_TRUE@	$(call create-link)

@CONFIG_DEVICE_LAYER_TRUE@$(filter %.hpp,$(nl_public_WeaveDeviceLayer_header_destinations)): $(nl_public_WeaveDeviceLayer_destination_dirstem)/%.hpp: $(abs_srcdir)/../$(nl_public_WeaveDeviceLayer_source_dirstem)/%.hpp | $(nl_public_WeaveDeviceLayer_header_dirs)
@CONFIG_DEVICE_LAYER_TRUE@	$(call create-link)

@CONFIG_DEVICE_LAYER_TRUE@$(filter %.ipp,$(nl_public_WeaveDeviceLayer_header_destinations)): $(nl_public_WeaveDeviceLayer_destination_dirstem)/%.ipp: $(abs_srcdir)/../$(nl_public_WeaveDeviceLayer_source_dirstem)/%.ipp | $(nl_public_WeaveDeviceLayer_header_dirs)
@CONFIG_DEVICE_LAYER_TRUE@	$(call create-link)

$(tps_public_micro_ecc_header_dirs):
	$(call create-directory)

$(tps_public_micro_ecc_header_destinations): $(tps_public_micro_ecc_destination_dirstem)/%.h: $(abs_srcdir)/../$(tps_public_micro_ecc_source_dirstem)/%.h | $(tps_public_micro_ecc_header_dirs)
	$(call create-link)

$(tps_public_mincrypt_header_dirs):
	$(call create-directory)

$(tps_public_mincrypt_header_destinations): $(tps_public_mincrypt_destination_dirstem)/%.h: $(abs_srcdir)/../$(tps_public_mincrypt_source_dirstem)/%.h | $(tps_public_mincrypt_header_dirs)
	$(call create-link)

# Ensure that auto-generated content such as BuildConfig.h and
# Weave/WeaveVersion.h, while public API headers, are scrubbed out of
# the source distribution.

dist-hook:
	$(AM_V_at)rm -f $(distdir)/BuildConfig.h
	$(AM_V_at)rm -f $(distdir)/$(nl_public_Weave_destination_dirstem)/WeaveVersion.h
	$(AM_V_at)rmdir $(distdir)/$(nl_public_Weave_destination_dirstem)

install-headers: install-data

# Ensure that any created parent directories from symlinking are also
# cleaned up.

clean-local:
	$(AM_V_at)rm -f -r $(nl_public_header_dirs) $(platform_public_header_dirs) $(tps_public_header_dirs)

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:
