#
#  Copyright (c) 2016, The OpenThread Authors.
#  All rights reserved.
#
#  Redistribution and use in source and binary forms, with or without
#  modification, are permitted provided that the following conditions are met:
#  1. Redistributions of source code must retain the above copyright
#     notice, this list of conditions and the following disclaimer.
#  2. Redistributions in binary form must reproduce the above copyright
#     notice, this list of conditions and the following disclaimer in the
#     documentation and/or other materials provided with the distribution.
#  3. Neither the name of the copyright holder nor the
#     names of its contributors may be used to endorse or promote products
#     derived from this software without specific prior written permission.
#
#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
#  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
#  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
#  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
#  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
#  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
#  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
#  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
#  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
#  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
#  POSSIBILITY OF SUCH DAMAGE.
#

include $(abs_top_nlbuild_autotools_dir)/automake/pre.am

lib_LIBRARIES                              = $(NULL)

if OPENTHREAD_ENABLE_FTD
lib_LIBRARIES                             += libopenthread-ftd.a
endif

if OPENTHREAD_ENABLE_MTD
lib_LIBRARIES                             += libopenthread-mtd.a
endif

if OPENTHREAD_ENABLE_RADIO_ONLY
lib_LIBRARIES                             += libopenthread-radio.a
endif

if OPENTHREAD_ENABLE_RADIO_CLI
lib_LIBRARIES                             += libopenthread-radio-cli.a
endif

CPPFLAGS_COMMON                            = \
    -I$(top_srcdir)/include                  \
    $(OPENTHREAD_TARGET_DEFINES)             \
    $(NULL)

libopenthread_radio_a_CPPFLAGS             = \
    $(CPPFLAGS_COMMON)                       \
    -DOPENTHREAD_MTD=0                       \
    -DOPENTHREAD_FTD=0                       \
    -DOPENTHREAD_RADIO=1                     \
    -DOPENTHREAD_RADIO_CLI=0                 \
    $(NULL)

libopenthread_radio_cli_a_CPPFLAGS         = \
    $(CPPFLAGS_COMMON)                       \
    -DOPENTHREAD_MTD=0                       \
    -DOPENTHREAD_FTD=0                       \
    -DOPENTHREAD_RADIO=1                     \
    -DOPENTHREAD_RADIO_CLI=1                 \
    $(NULL)

libopenthread_ftd_a_CPPFLAGS               = \
    $(CPPFLAGS_COMMON)                       \
    -DOPENTHREAD_MTD=0                       \
    -DOPENTHREAD_FTD=1                       \
    -DOPENTHREAD_RADIO=0                     \
    $(NULL)

libopenthread_mtd_a_CPPFLAGS               = \
    $(CPPFLAGS_COMMON)                       \
    -DOPENTHREAD_MTD=1                       \
    -DOPENTHREAD_FTD=0                       \
    -DOPENTHREAD_RADIO=0                     \
    $(NULL)

#------------------------------------------------------
# Note to maintainer/developers about "SOURCES_COMMON"
#
# The traditional method for GNU style Makefile.am files
# is to have IF statements within the Makefile
#
# These IF statements would add (or not add) certain
# source files from the build/library being built.
#
# In general, IDEs do not easily support this.
# Some do, some do not, those that do support it
# often do so in a very different or complex way.
# Bottom line: It is a very mixed bag of results.
#
# Thus we bend to the IDEs, and impose these rules:
#
# Rule #1
#     All code(files) should be compiled
#     Even if it is not used or required
#
#     For example: In the MTD build, some features
#     are disabled and thus in the traditional scheme
#     source files could be excluded SOURCES_COMMON
#     via makefile IF/ELSE/ENDIF constructs.
#
#     This makes it impossibly hard for IDEs.
#     Thus we compile everything.
#
#     And then rely upon Rule #2.
#
# Rule #2
#     Files that are not required, in certain
#     configurations require appropriate wrappers
#     Such as #if/#else/#endif
#
#     The net result is sort of an "empty translation
#     unit"
#

SOURCES_COMMON                                  = \
    api/backbone_router_api.cpp                   \
    api/backbone_router_ftd_api.cpp               \
    api/border_agent_api.cpp                      \
    api/border_router_api.cpp                     \
    api/channel_manager_api.cpp                   \
    api/channel_monitor_api.cpp                   \
    api/child_supervision_api.cpp                 \
    api/coap_api.cpp                              \
    api/coap_secure_api.cpp                       \
    api/commissioner_api.cpp                      \
    api/crypto_api.cpp                            \
    api/dataset_api.cpp                           \
    api/dataset_ftd_api.cpp                       \
    api/dataset_updater_api.cpp                   \
    api/diags_api.cpp                             \
    api/dns_api.cpp                               \
    api/dns_server_api.cpp                        \
    api/error_api.cpp                             \
    api/heap_api.cpp                              \
    api/history_tracker_api.cpp                   \
    api/icmp6_api.cpp                             \
    api/instance_api.cpp                          \
    api/ip6_api.cpp                               \
    api/jam_detection_api.cpp                     \
    api/joiner_api.cpp                            \
    api/link_api.cpp                              \
    api/link_metrics_api.cpp                      \
    api/link_raw_api.cpp                          \
    api/logging_api.cpp                           \
    api/message_api.cpp                           \
    api/multi_radio_api.cpp                       \
    api/netdata_api.cpp                           \
    api/netdata_publisher_api.cpp                 \
    api/netdiag_api.cpp                           \
    api/network_time_api.cpp                      \
    api/ping_sender_api.cpp                       \
    api/random_crypto_api.cpp                     \
    api/random_noncrypto_api.cpp                  \
    api/server_api.cpp                            \
    api/sntp_api.cpp                              \
    api/srp_client_api.cpp                        \
    api/srp_client_buffers_api.cpp                \
    api/srp_server_api.cpp                        \
    api/tasklet_api.cpp                           \
    api/tcp_api.cpp                               \
    api/thread_api.cpp                            \
    api/thread_ftd_api.cpp                        \
    api/trel_api.cpp                              \
    api/udp_api.cpp                               \
    backbone_router/backbone_tmf.cpp              \
    backbone_router/bbr_leader.cpp                \
    backbone_router/bbr_local.cpp                 \
    backbone_router/bbr_manager.cpp               \
    backbone_router/multicast_listeners_table.cpp \
    backbone_router/ndproxy_table.cpp             \
    border_router/infra_if_platform.cpp           \
    border_router/router_advertisement.cpp        \
    border_router/routing_manager.cpp             \
    coap/coap.cpp                                 \
    coap/coap_message.cpp                         \
    coap/coap_secure.cpp                          \
    common/appender.cpp                           \
    common/binary_search.cpp                      \
    common/crc16.cpp                              \
    common/data.cpp                               \
    common/error.cpp                              \
    common/heap.cpp                               \
    common/heap_data.cpp                          \
    common/heap_string.cpp                        \
    common/instance.cpp                           \
    common/log.cpp                                \
    common/message.cpp                            \
    common/notifier.cpp                           \
    common/random_manager.cpp                     \
    common/settings.cpp                           \
    common/string.cpp                             \
    common/tasklet.cpp                            \
    common/time_ticker.cpp                        \
    common/timer.cpp                              \
    common/tlvs.cpp                               \
    common/trickle_timer.cpp                      \
    common/uptime.cpp                             \
    crypto/aes_ccm.cpp                            \
    crypto/aes_ecb.cpp                            \
    crypto/crypto_platform.cpp                    \
    crypto/ecdsa.cpp                              \
    crypto/ecdsa_tinycrypt.cpp                    \
    crypto/hkdf_sha256.cpp                        \
    crypto/hmac_sha256.cpp                        \
    crypto/mbedtls.cpp                            \
    crypto/pbkdf2_cmac.cpp                        \
    crypto/sha256.cpp                             \
    crypto/storage.cpp                            \
    diags/factory_diags.cpp                       \
    mac/channel_mask.cpp                          \
    mac/data_poll_handler.cpp                     \
    mac/data_poll_sender.cpp                      \
    mac/link_raw.cpp                              \
    mac/mac.cpp                                   \
    mac/mac_filter.cpp                            \
    mac/mac_frame.cpp                             \
    mac/mac_links.cpp                             \
    mac/mac_types.cpp                             \
    mac/sub_mac.cpp                               \
    mac/sub_mac_callbacks.cpp                     \
    meshcop/announce_begin_client.cpp             \
    meshcop/border_agent.cpp                      \
    meshcop/commissioner.cpp                      \
    meshcop/dataset.cpp                           \
    meshcop/dataset_local.cpp                     \
    meshcop/dataset_manager.cpp                   \
    meshcop/dataset_manager_ftd.cpp               \
    meshcop/dataset_updater.cpp                   \
    meshcop/dtls.cpp                              \
    meshcop/energy_scan_client.cpp                \
    meshcop/joiner.cpp                            \
    meshcop/joiner_router.cpp                     \
    meshcop/meshcop.cpp                           \
    meshcop/meshcop_leader.cpp                    \
    meshcop/meshcop_tlvs.cpp                      \
    meshcop/panid_query_client.cpp                \
    meshcop/timestamp.cpp                         \
    net/checksum.cpp                              \
    net/dhcp6_client.cpp                          \
    net/dhcp6_server.cpp                          \
    net/dns_client.cpp                            \
    net/dns_dso.cpp                               \
    net/dns_types.cpp                             \
    net/dnssd_server.cpp                          \
    net/icmp6.cpp                                 \
    net/ip4_address.cpp                           \
    net/ip6.cpp                                   \
    net/ip6_address.cpp                           \
    net/ip6_filter.cpp                            \
    net/ip6_headers.cpp                           \
    net/ip6_mpl.cpp                               \
    net/nd_agent.cpp                              \
    net/netif.cpp                                 \
    net/sntp_client.cpp                           \
    net/socket.cpp                                \
    net/srp_client.cpp                            \
    net/srp_server.cpp                            \
    net/tcp6.cpp                                  \
    net/udp6.cpp                                  \
    radio/radio.cpp                               \
    radio/radio_callbacks.cpp                     \
    radio/radio_platform.cpp                      \
    radio/trel_interface.cpp                      \
    radio/trel_link.cpp                           \
    radio/trel_packet.cpp                         \
    thread/address_resolver.cpp                   \
    thread/announce_begin_server.cpp              \
    thread/announce_sender.cpp                    \
    thread/anycast_locator.cpp                    \
    thread/child_table.cpp                        \
    thread/csl_tx_scheduler.cpp                   \
    thread/discover_scanner.cpp                   \
    thread/dua_manager.cpp                        \
    thread/energy_scan_server.cpp                 \
    thread/indirect_sender.cpp                    \
    thread/key_manager.cpp                        \
    thread/link_metrics.cpp                       \
    thread/link_quality.cpp                       \
    thread/lowpan.cpp                             \
    thread/mesh_forwarder.cpp                     \
    thread/mesh_forwarder_ftd.cpp                 \
    thread/mesh_forwarder_mtd.cpp                 \
    thread/mle.cpp                                \
    thread/mle_router.cpp                         \
    thread/mle_types.cpp                          \
    thread/mlr_manager.cpp                        \
    thread/neighbor_table.cpp                     \
    thread/network_data.cpp                       \
    thread/network_data_leader.cpp                \
    thread/network_data_leader_ftd.cpp            \
    thread/network_data_local.cpp                 \
    thread/network_data_notifier.cpp              \
    thread/network_data_publisher.cpp             \
    thread/network_data_service.cpp               \
    thread/network_data_tlvs.cpp                  \
    thread/network_data_types.cpp                 \
    thread/network_diagnostic.cpp                 \
    thread/panid_query_server.cpp                 \
    thread/radio_selector.cpp                     \
    thread/router_table.cpp                       \
    thread/src_match_controller.cpp               \
    thread/thread_netif.cpp                       \
    thread/time_sync_service.cpp                  \
    thread/tmf.cpp                                \
    thread/topology.cpp                           \
    thread/uri_paths.cpp                          \
    utils/channel_manager.cpp                     \
    utils/channel_monitor.cpp                     \
    utils/child_supervision.cpp                   \
    utils/flash.cpp                               \
    utils/heap.cpp                                \
    utils/history_tracker.cpp                     \
    utils/jam_detector.cpp                        \
    utils/otns.cpp                                \
    utils/parse_cmdline.cpp                       \
    utils/ping_sender.cpp                         \
    utils/slaac_address.cpp                       \
    utils/srp_client_buffers.cpp                  \
    $(NULL)

RADIO_SOURCES_COMMON                       = \
    api/diags_api.cpp                        \
    api/error_api.cpp                        \
    api/instance_api.cpp                     \
    api/link_raw_api.cpp                     \
    api/logging_api.cpp                      \
    api/random_noncrypto_api.cpp             \
    api/tasklet_api.cpp                      \
    common/binary_search.cpp                 \
    common/error.cpp                         \
    common/instance.cpp                      \
    common/log.cpp                           \
    common/random_manager.cpp                \
    common/string.cpp                        \
    common/tasklet.cpp                       \
    common/timer.cpp                         \
    common/uptime.cpp                        \
    crypto/aes_ccm.cpp                       \
    crypto/aes_ecb.cpp                       \
    crypto/crypto_platform.cpp               \
    crypto/storage.cpp                       \
    diags/factory_diags.cpp                  \
    mac/link_raw.cpp                         \
    mac/mac_frame.cpp                        \
    mac/mac_types.cpp                        \
    mac/sub_mac.cpp                          \
    mac/sub_mac_callbacks.cpp                \
    radio/radio.cpp                          \
    radio/radio_callbacks.cpp                \
    radio/radio_platform.cpp                 \
    thread/link_quality.cpp                  \
    utils/parse_cmdline.cpp                  \
    $(NULL)

EXTRA_DIST                                 = \
    common/extension_example.cpp             \
    $(NULL)

libopenthread_radio_a_SOURCES              = \
    $(RADIO_SOURCES_COMMON)                  \
    $(NULL)

libopenthread_radio_cli_a_SOURCES          = \
    $(RADIO_SOURCES_COMMON)                  \
    $(NULL)

libopenthread_mtd_a_SOURCES                = \
    $(SOURCES_COMMON)                        \
    $(NULL)

libopenthread_ftd_a_SOURCES                = \
    $(SOURCES_COMMON)                        \
    $(NULL)

if OPENTHREAD_ENABLE_VENDOR_EXTENSION

.INTERMEDIATE: vendor_extension_temp.cpp
vendor_extension_temp.cpp: ${OPENTHREAD_VENDOR_EXTENSION_SOURCE}
	$(AM_V_GEN)cp $< $@

# "nodist_" prefix tells automake not to include in 'make dist'

nodist_libopenthread_ftd_a_SOURCES         = \
    vendor_extension_temp.cpp                \
    $(NULL)

nodist_libopenthread_mtd_a_SOURCES         = \
    vendor_extension_temp.cpp                \
    $(NULL)

nodist_libopenthread_radio_a_SOURCES       = \
    vendor_extension_temp.cpp                \
    $(NULL)

nodist_libopenthread_radio_cli_a_SOURCES   = \
    vendor_extension_temp.cpp                \
    $(NULL)

endif # OPENTHREAD_ENABLE_VENDOR_EXTENSION

HEADERS_COMMON                                  = \
    backbone_router/backbone_tmf.hpp              \
    backbone_router/bbr_leader.hpp                \
    backbone_router/bbr_local.hpp                 \
    backbone_router/bbr_manager.hpp               \
    backbone_router/multicast_listeners_table.hpp \
    backbone_router/ndproxy_table.hpp             \
    border_router/router_advertisement.hpp        \
    border_router/routing_manager.hpp             \
    coap/coap.hpp                                 \
    coap/coap_message.hpp                         \
    coap/coap_secure.hpp                          \
    common/appender.hpp                           \
    common/arg_macros.hpp                         \
    common/array.hpp                              \
    common/as_core_type.hpp                       \
    common/binary_search.hpp                      \
    common/bit_vector.hpp                         \
    common/clearable.hpp                          \
    common/code_utils.hpp                         \
    common/const_cast.hpp                         \
    common/crc16.hpp                              \
    common/data.hpp                               \
    common/debug.hpp                              \
    common/encoding.hpp                           \
    common/equatable.hpp                          \
    common/error.hpp                              \
    common/extension.hpp                          \
    common/heap.hpp                               \
    common/heap_allocatable.hpp                   \
    common/heap_array.hpp                         \
    common/heap_data.hpp                          \
    common/heap_string.hpp                        \
    common/instance.hpp                           \
    common/iterator_utils.hpp                     \
    common/linked_list.hpp                        \
    common/locator.hpp                            \
    common/locator_getters.hpp                    \
    common/log.hpp                                \
    common/logging.hpp                            \
    common/message.hpp                            \
    common/new.hpp                                \
    common/non_copyable.hpp                       \
    common/notifier.hpp                           \
    common/numeric_limits.hpp                     \
    common/owned_ptr.hpp                          \
    common/owning_list.hpp                        \
    common/pool.hpp                               \
    common/ptr_wrapper.hpp                        \
    common/random.hpp                             \
    common/random_manager.hpp                     \
    common/retain_ptr.hpp                         \
    common/serial_number.hpp                      \
    common/settings.hpp                           \
    common/settings_driver.hpp                    \
    common/string.hpp                             \
    common/tasklet.hpp                            \
    common/time.hpp                               \
    common/time_ticker.hpp                        \
    common/timer.hpp                              \
    common/tlvs.hpp                               \
    common/trickle_timer.hpp                      \
    common/type_traits.hpp                        \
    common/uptime.hpp                             \
    config/announce_sender.h                      \
    config/backbone_router.h                      \
    config/border_router.h                        \
    config/channel_manager.h                      \
    config/channel_monitor.h                      \
    config/child_supervision.h                    \
    config/coap.h                                 \
    config/commissioner.h                         \
    config/crypto.h                               \
    config/dataset_updater.h                      \
    config/dhcp6_client.h                         \
    config/dhcp6_server.h                         \
    config/diag.h                                 \
    config/dns_client.h                           \
    config/dns_dso.h                              \
    config/dnssd_server.h                         \
    config/dtls.h                                 \
    config/history_tracker.h                      \
    config/ip6.h                                  \
    config/joiner.h                               \
    config/link_quality.h                         \
    config/link_raw.h                             \
    config/logging.h                              \
    config/mac.h                                  \
    config/misc.h                                 \
    config/mle.h                                  \
    config/netdata_publisher.h                    \
    config/openthread-core-config-check.h         \
    config/parent_search.h                        \
    config/ping_sender.h                          \
    config/platform.h                             \
    config/radio_link.h                           \
    config/sntp_client.h                          \
    config/srp_client.h                           \
    config/srp_server.h                           \
    config/time_sync.h                            \
    config/tmf.h                                  \
    crypto/aes_ccm.hpp                            \
    crypto/aes_ecb.hpp                            \
    crypto/context_size.hpp                       \
    crypto/ecdsa.hpp                              \
    crypto/hkdf_sha256.hpp                        \
    crypto/hmac_sha256.hpp                        \
    crypto/mbedtls.hpp                            \
    crypto/pbkdf2_cmac.hpp                        \
    crypto/sha256.hpp                             \
    crypto/storage.hpp                            \
    diags/factory_diags.hpp                       \
    mac/channel_mask.hpp                          \
    mac/data_poll_handler.hpp                     \
    mac/data_poll_sender.hpp                      \
    mac/link_raw.hpp                              \
    mac/mac.hpp                                   \
    mac/mac_filter.hpp                            \
    mac/mac_frame.hpp                             \
    mac/mac_links.hpp                             \
    mac/mac_types.hpp                             \
    mac/sub_mac.hpp                               \
    meshcop/announce_begin_client.hpp             \
    meshcop/border_agent.hpp                      \
    meshcop/commissioner.hpp                      \
    meshcop/dataset.hpp                           \
    meshcop/dataset_local.hpp                     \
    meshcop/dataset_manager.hpp                   \
    meshcop/dataset_updater.hpp                   \
    meshcop/dtls.hpp                              \
    meshcop/energy_scan_client.hpp                \
    meshcop/joiner.hpp                            \
    meshcop/joiner_router.hpp                     \
    meshcop/meshcop.hpp                           \
    meshcop/meshcop_leader.hpp                    \
    meshcop/meshcop_tlvs.hpp                      \
    meshcop/panid_query_client.hpp                \
    meshcop/timestamp.hpp                         \
    net/checksum.hpp                              \
    net/dhcp6.hpp                                 \
    net/dhcp6_client.hpp                          \
    net/dhcp6_server.hpp                          \
    net/dns_client.hpp                            \
    net/dns_dso.hpp                               \
    net/dns_types.hpp                             \
    net/dnssd_server.hpp                          \
    net/icmp6.hpp                                 \
    net/ip4_address.hpp                           \
    net/ip6.hpp                                   \
    net/ip6_address.hpp                           \
    net/ip6_filter.hpp                            \
    net/ip6_headers.hpp                           \
    net/ip6_mpl.hpp                               \
    net/ip6_types.hpp                             \
    net/nd_agent.hpp                              \
    net/netif.hpp                                 \
    net/sntp_client.hpp                           \
    net/socket.hpp                                \
    net/srp_client.hpp                            \
    net/srp_server.hpp                            \
    net/tcp6.hpp                                  \
    net/udp6.hpp                                  \
    openthread-core-config.h                      \
    radio/max_power_table.hpp                     \
    radio/radio.hpp                               \
    radio/trel_interface.hpp                      \
    radio/trel_link.hpp                           \
    radio/trel_packet.hpp                         \
    thread/address_resolver.hpp                   \
    thread/announce_begin_server.hpp              \
    thread/announce_sender.hpp                    \
    thread/anycast_locator.hpp                    \
    thread/child_mask.hpp                         \
    thread/child_table.hpp                        \
    thread/csl_tx_scheduler.hpp                   \
    thread/discover_scanner.hpp                   \
    thread/dua_manager.hpp                        \
    thread/energy_scan_server.hpp                 \
    thread/indirect_sender.hpp                    \
    thread/indirect_sender_frame_context.hpp      \
    thread/key_manager.hpp                        \
    thread/link_metrics.hpp                       \
    thread/link_metrics_tlvs.hpp                  \
    thread/link_quality.hpp                       \
    thread/lowpan.hpp                             \
    thread/mesh_forwarder.hpp                     \
    thread/mle.hpp                                \
    thread/mle_router.hpp                         \
    thread/mle_tlvs.hpp                           \
    thread/mle_types.hpp                          \
    thread/mlr_manager.hpp                        \
    thread/mlr_types.hpp                          \
    thread/neighbor_table.hpp                     \
    thread/network_data.hpp                       \
    thread/network_data_leader.hpp                \
    thread/network_data_leader_ftd.hpp            \
    thread/network_data_local.hpp                 \
    thread/network_data_notifier.hpp              \
    thread/network_data_publisher.hpp             \
    thread/network_data_service.hpp               \
    thread/network_data_tlvs.hpp                  \
    thread/network_data_types.hpp                 \
    thread/network_diagnostic.hpp                 \
    thread/network_diagnostic_tlvs.hpp            \
    thread/panid_query_server.hpp                 \
    thread/radio_selector.hpp                     \
    thread/router_table.hpp                       \
    thread/src_match_controller.hpp               \
    thread/thread_netif.hpp                       \
    thread/thread_tlvs.hpp                        \
    thread/time_sync_service.hpp                  \
    thread/tmf.hpp                                \
    thread/topology.hpp                           \
    thread/uri_paths.hpp                          \
    utils/channel_manager.hpp                     \
    utils/channel_monitor.hpp                     \
    utils/child_supervision.hpp                   \
    utils/flash.hpp                               \
    utils/heap.hpp                                \
    utils/history_tracker.hpp                     \
    utils/jam_detector.hpp                        \
    utils/otns.hpp                                \
    utils/parse_cmdline.hpp                       \
    utils/ping_sender.hpp                         \
    utils/slaac_address.hpp                       \
    utils/srp_client_buffers.hpp                  \
    $(NULL)

noinst_HEADERS                             = \
    $(HEADERS_COMMON)                        \
    $(NULL)

if OPENTHREAD_BUILD_COVERAGE
Dash       = -
CLEANFILES = $(shell find $(top_builddir)/src/core $(Dash)name "*.gcda" $(Dash)o $(Dash)name "*.gcno")
endif

include $(abs_top_nlbuild_autotools_dir)/automake/post.am
