| # |
| # 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 |
| |
| 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 \ |
| $(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/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/diags_api.cpp \ |
| api/dns_api.cpp \ |
| api/entropy_api.cpp \ |
| api/heap_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_raw_api.cpp \ |
| api/logging_api.cpp \ |
| api/message_api.cpp \ |
| api/netdata_api.cpp \ |
| api/network_time_api.cpp \ |
| api/random_crypto_api.cpp \ |
| api/random_noncrypto_api.cpp \ |
| api/server_api.cpp \ |
| api/sntp_api.cpp \ |
| api/tasklet_api.cpp \ |
| api/thread_api.cpp \ |
| api/thread_ftd_api.cpp \ |
| api/udp_api.cpp \ |
| coap/coap.cpp \ |
| coap/coap_message.cpp \ |
| coap/coap_secure.cpp \ |
| common/crc16.cpp \ |
| common/instance.cpp \ |
| common/logging.cpp \ |
| common/message.cpp \ |
| common/notifier.cpp \ |
| common/random_manager.cpp \ |
| common/settings.cpp \ |
| common/string.cpp \ |
| common/tasklet.cpp \ |
| common/timer.cpp \ |
| common/tlvs.cpp \ |
| common/trickle_timer.cpp \ |
| crypto/aes_ccm.cpp \ |
| crypto/aes_ecb.cpp \ |
| crypto/ecdsa.cpp \ |
| crypto/hmac_sha256.cpp \ |
| crypto/mbedtls.cpp \ |
| crypto/pbkdf2_cmac.cpp \ |
| crypto/sha256.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_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/dtls.cpp \ |
| meshcop/energy_scan_client.cpp \ |
| meshcop/joiner.cpp \ |
| meshcop/joiner_router.cpp \ |
| meshcop/leader.cpp \ |
| meshcop/meshcop.cpp \ |
| meshcop/meshcop_tlvs.cpp \ |
| meshcop/panid_query_client.cpp \ |
| meshcop/timestamp.cpp \ |
| net/dhcp6_client.cpp \ |
| net/dhcp6_server.cpp \ |
| net/dns_client.cpp \ |
| net/icmp6.cpp \ |
| net/ip6.cpp \ |
| net/ip6_address.cpp \ |
| net/ip6_filter.cpp \ |
| net/ip6_headers.cpp \ |
| net/ip6_mpl.cpp \ |
| net/netif.cpp \ |
| net/sntp_client.cpp \ |
| net/udp6.cpp \ |
| radio/radio_callbacks.cpp \ |
| radio/radio_platform.cpp \ |
| thread/address_resolver.cpp \ |
| thread/announce_begin_server.cpp \ |
| thread/announce_sender.cpp \ |
| thread/child_table.cpp \ |
| thread/device_mode.cpp \ |
| thread/energy_scan_server.cpp \ |
| thread/indirect_sender.cpp \ |
| thread/key_manager.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/network_data.cpp \ |
| thread/network_data_leader.cpp \ |
| thread/network_data_leader_ftd.cpp \ |
| thread/network_data_local.cpp \ |
| thread/network_diagnostic.cpp \ |
| thread/panid_query_server.cpp \ |
| thread/router_table.cpp \ |
| thread/src_match_controller.cpp \ |
| thread/thread_netif.cpp \ |
| thread/time_sync_service.cpp \ |
| thread/topology.cpp \ |
| utils/channel_manager.cpp \ |
| utils/channel_monitor.cpp \ |
| utils/child_supervision.cpp \ |
| utils/heap.cpp \ |
| utils/jam_detector.cpp \ |
| utils/parse_cmdline.cpp \ |
| utils/slaac_address.cpp \ |
| $(NULL) |
| |
| EXTRA_DIST = \ |
| common/extension_example.cpp \ |
| $(NULL) |
| |
| libopenthread_radio_a_SOURCES = \ |
| api/diags_api.cpp \ |
| api/heap_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/instance.cpp \ |
| common/logging.cpp \ |
| common/random_manager.cpp \ |
| common/string.cpp \ |
| common/tasklet.cpp \ |
| common/timer.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_callbacks.cpp \ |
| radio/radio_platform.cpp \ |
| thread/link_quality.cpp \ |
| utils/parse_cmdline.cpp \ |
| $(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) |
| |
| endif # OPENTHREAD_ENABLE_VENDOR_EXTENSION |
| |
| HEADERS_COMMON = \ |
| openthread-core-config.h \ |
| coap/coap.hpp \ |
| coap/coap_message.hpp \ |
| coap/coap_secure.hpp \ |
| common/code_utils.hpp \ |
| common/crc16.hpp \ |
| common/debug.hpp \ |
| common/encoding.hpp \ |
| common/extension.hpp \ |
| common/instance.hpp \ |
| common/linked_list.hpp \ |
| common/locator.hpp \ |
| common/locator-getters.hpp \ |
| common/logging.hpp \ |
| common/message.hpp \ |
| common/new.hpp \ |
| common/notifier.hpp \ |
| common/random.hpp \ |
| common/random_manager.hpp \ |
| common/settings.hpp \ |
| common/string.hpp \ |
| common/tasklet.hpp \ |
| common/time.hpp \ |
| common/timer.hpp \ |
| common/tlvs.hpp \ |
| common/trickle_timer.hpp \ |
| config/announce_sender.h \ |
| config/border_router.h \ |
| config/channel_manager.h \ |
| config/channel_monitor.h \ |
| config/child_supervision.h \ |
| config/coap.h \ |
| config/commissioner.h \ |
| config/dhcp6_client.h \ |
| config/dhcp6_server.h \ |
| config/diag.h \ |
| config/dns_client.h \ |
| config/ip6.h \ |
| config/joiner.h \ |
| config/link_quality.h \ |
| config/link_raw.h \ |
| config/logging.h \ |
| config/mac.h \ |
| config/mle.h \ |
| config/openthread-core-config-check.h \ |
| config/openthread-core-default-config.h \ |
| config/parent_search.h \ |
| config/platform.h \ |
| config/sntp_client.h \ |
| config/time_sync.h \ |
| config/tmf.h \ |
| crypto/aes_ccm.hpp \ |
| crypto/aes_ecb.hpp \ |
| crypto/ecdsa.hpp \ |
| crypto/hmac_sha256.hpp \ |
| crypto/mbedtls.hpp \ |
| crypto/pbkdf2_cmac.h \ |
| crypto/sha256.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_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/dtls.hpp \ |
| meshcop/energy_scan_client.hpp \ |
| meshcop/joiner.hpp \ |
| meshcop/joiner_router.hpp \ |
| meshcop/leader.hpp \ |
| meshcop/meshcop.hpp \ |
| meshcop/meshcop_tlvs.hpp \ |
| meshcop/panid_query_client.hpp \ |
| meshcop/timestamp.hpp \ |
| net/dhcp6.hpp \ |
| net/dhcp6_client.hpp \ |
| net/dhcp6_server.hpp \ |
| net/dns_client.hpp \ |
| net/dns_headers.hpp \ |
| net/icmp6.hpp \ |
| net/ip6.hpp \ |
| net/ip6_address.hpp \ |
| net/ip6_filter.hpp \ |
| net/ip6_headers.hpp \ |
| net/ip6_mpl.hpp \ |
| net/netif.hpp \ |
| net/sntp_client.hpp \ |
| net/socket.hpp \ |
| net/tcp.hpp \ |
| net/udp6.hpp \ |
| radio/radio.hpp \ |
| thread/address_resolver.hpp \ |
| thread/announce_begin_server.hpp \ |
| thread/announce_sender.hpp \ |
| thread/child_table.hpp \ |
| thread/device_mode.hpp \ |
| thread/energy_scan_server.hpp \ |
| thread/indirect_sender.hpp \ |
| thread/indirect_sender_frame_context.hpp \ |
| thread/key_manager.hpp \ |
| thread/link_quality.hpp \ |
| thread/lowpan.hpp \ |
| thread/mesh_forwarder.hpp \ |
| thread/mle.hpp \ |
| thread/mle_constants.hpp \ |
| thread/mle_router.hpp \ |
| thread/mle_router_ftd.hpp \ |
| thread/mle_router_mtd.hpp \ |
| thread/mle_tlvs.hpp \ |
| thread/network_data.hpp \ |
| thread/network_data_leader.hpp \ |
| thread/network_data_leader_ftd.hpp \ |
| thread/network_data_local.hpp \ |
| thread/network_data_tlvs.hpp \ |
| thread/network_diagnostic.hpp \ |
| thread/network_diagnostic_tlvs.hpp \ |
| thread/panid_query_server.hpp \ |
| thread/router_table.hpp \ |
| thread/src_match_controller.hpp \ |
| thread/thread_netif.hpp \ |
| thread/thread_tlvs.hpp \ |
| thread/thread_uri_paths.hpp \ |
| thread/time_sync_service.hpp \ |
| thread/topology.hpp \ |
| utils/channel_manager.hpp \ |
| utils/channel_monitor.hpp \ |
| utils/child_supervision.hpp \ |
| utils/heap.hpp \ |
| utils/jam_detector.hpp \ |
| utils/parse_cmdline.hpp \ |
| utils/slaac_address.hpp \ |
| utils/static_assert.hpp \ |
| $(NULL) |
| |
| noinst_HEADERS = \ |
| $(HEADERS_COMMON) \ |
| $(NULL) |
| |
| PRETTY_FILES = \ |
| $(HEADERS_COMMON) \ |
| $(SOURCES_COMMON) \ |
| $(EXTRA_DIST) \ |
| $(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 |