| # |
| # Copyright (c) 2018, 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. |
| # |
| |
| LOCAL_PATH := $(call my-dir) |
| |
| OPENTHREAD_DEFAULT_VERSION := $(shell cat $(LOCAL_PATH)/.default-version) |
| OPENTHREAD_SOURCE_VERSION := $(shell git -C $(LOCAL_PATH) describe --always --match "[0-9].*" 2> /dev/null) |
| |
| OPENTHREAD_COMMON_FLAGS := \ |
| -DPACKAGE=\"openthread\" \ |
| -DPACKAGE_BUGREPORT=\"openthread-devel@googlegroups.com\" \ |
| -DPACKAGE_NAME=\"OPENTHREAD\" \ |
| -DPACKAGE_STRING=\"OPENTHREAD\ $(OPENTHREAD_DEFAULT_VERSION)\" \ |
| -DPACKAGE_VERSION=\"$(OPENTHREAD_SOURCE_VERSION)\" \ |
| -DPACKAGE_TARNAME=\"openthread\" \ |
| -DVERSION=\"$(OPENTHREAD_DEFAULT_VERSION)\" \ |
| -DPACKAGE_URL=\"http://github.com/openthread/openthread\" \ |
| -DOPENTHREAD_CONFIG_MAC_FILTER_ENABLE=1 \ |
| $(NULL) |
| |
| # Enable required features for on-device tests. |
| ifeq ($(TARGET_BUILD_VARIANT),eng) |
| OPENTHREAD_COMMON_FLAGS += \ |
| -DOPENTHREAD_CONFIG_DIAG_ENABLE=1 \ |
| $(NULL) |
| endif |
| |
| # Enable all optional features for CI tests. |
| ifeq ($(TARGET_PRODUCT),generic) |
| OPENTHREAD_COMMON_FLAGS += \ |
| -DOPENTHREAD_CONFIG_COAP_API_ENABLE=1 \ |
| -DOPENTHREAD_CONFIG_COMMISSIONER_ENABLE=1 \ |
| -DOPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE=1 \ |
| -DOPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE=1 \ |
| -DOPENTHREAD_CONFIG_DNS_CLIENT_ENABLE=1 \ |
| -DOPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE=0 \ |
| -DOPENTHREAD_CONFIG_TMF_NETWORK_DIAG_MTD_ENABLE=1 \ |
| $(NULL) |
| endif |
| |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE := spi-hdlc-adapter |
| LOCAL_MODULE_TAGS := eng |
| LOCAL_SRC_FILES := tools/spi-hdlc-adapter/spi-hdlc-adapter.c |
| |
| include $(BUILD_EXECUTABLE) |
| |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE := ot-core |
| LOCAL_MODULE_TAGS := eng |
| |
| LOCAL_C_INCLUDES := \ |
| $(LOCAL_PATH)/include \ |
| $(LOCAL_PATH)/src \ |
| $(LOCAL_PATH)/src/cli \ |
| $(LOCAL_PATH)/src/core \ |
| $(LOCAL_PATH)/src/ncp \ |
| $(LOCAL_PATH)/src/posix/platform \ |
| $(LOCAL_PATH)/third_party \ |
| $(LOCAL_PATH)/third_party/mbedtls \ |
| $(LOCAL_PATH)/third_party/mbedtls/repo/include \ |
| $(NULL) |
| |
| LOCAL_CFLAGS := \ |
| -DMBEDTLS_CONFIG_FILE=\"mbedtls-config.h\" \ |
| -DOPENTHREAD_CONFIG_FILE=\<openthread-config-android.h\> \ |
| $(OPENTHREAD_COMMON_FLAGS) \ |
| -DOPENTHREAD_CONFIG_POSIX_APP_ENABLE_PTY_DEVICE=1 \ |
| -DOPENTHREAD_FTD=1 \ |
| -DOPENTHREAD_POSIX=1 \ |
| -DSPINEL_PLATFORM_HEADER=\"spinel_platform.h\" \ |
| $(NULL) |
| |
| LOCAL_CPPFLAGS := \ |
| -Wno-non-virtual-dtor \ |
| $(NULL) |
| |
| LOCAL_SRC_FILES := \ |
| src/core/api/border_router_api.cpp \ |
| src/core/api/channel_manager_api.cpp \ |
| src/core/api/channel_monitor_api.cpp \ |
| src/core/api/child_supervision_api.cpp \ |
| src/core/api/coap_api.cpp \ |
| src/core/api/commissioner_api.cpp \ |
| src/core/api/crypto_api.cpp \ |
| src/core/api/dataset_api.cpp \ |
| src/core/api/dataset_ftd_api.cpp \ |
| src/core/api/diags_api.cpp \ |
| src/core/api/dns_api.cpp \ |
| src/core/api/icmp6_api.cpp \ |
| src/core/api/instance_api.cpp \ |
| src/core/api/ip6_api.cpp \ |
| src/core/api/jam_detection_api.cpp \ |
| src/core/api/joiner_api.cpp \ |
| src/core/api/link_api.cpp \ |
| src/core/api/link_raw_api.cpp \ |
| src/core/api/logging_api.cpp \ |
| src/core/api/message_api.cpp \ |
| src/core/api/netdata_api.cpp \ |
| src/core/api/random_crypto_api.cpp \ |
| src/core/api/random_noncrypto_api.cpp \ |
| src/core/api/server_api.cpp \ |
| src/core/api/tasklet_api.cpp \ |
| src/core/api/thread_api.cpp \ |
| src/core/api/thread_ftd_api.cpp \ |
| src/core/api/udp_api.cpp \ |
| src/core/coap/coap.cpp \ |
| src/core/coap/coap_message.cpp \ |
| src/core/coap/coap_secure.cpp \ |
| src/core/common/crc16.cpp \ |
| src/core/common/instance.cpp \ |
| src/core/common/logging.cpp \ |
| src/core/common/message.cpp \ |
| src/core/common/notifier.cpp \ |
| src/core/common/random_manager.cpp \ |
| src/core/common/settings.cpp \ |
| src/core/common/string.cpp \ |
| src/core/common/tasklet.cpp \ |
| src/core/common/timer.cpp \ |
| src/core/common/tlvs.cpp \ |
| src/core/common/trickle_timer.cpp \ |
| src/core/crypto/aes_ccm.cpp \ |
| src/core/crypto/aes_ecb.cpp \ |
| src/core/crypto/hmac_sha256.cpp \ |
| src/core/crypto/mbedtls.cpp \ |
| src/core/crypto/pbkdf2_cmac.cpp \ |
| src/core/crypto/sha256.cpp \ |
| src/core/diags/factory_diags.cpp \ |
| src/core/mac/channel_mask.cpp \ |
| src/core/mac/data_poll_handler.cpp \ |
| src/core/mac/data_poll_sender.cpp \ |
| src/core/mac/mac.cpp \ |
| src/core/mac/mac_filter.cpp \ |
| src/core/mac/mac_frame.cpp \ |
| src/core/mac/mac_types.cpp \ |
| src/core/mac/sub_mac.cpp \ |
| src/core/mac/sub_mac_callbacks.cpp \ |
| src/core/meshcop/announce_begin_client.cpp \ |
| src/core/meshcop/border_agent.cpp \ |
| src/core/meshcop/commissioner.cpp \ |
| src/core/meshcop/dataset.cpp \ |
| src/core/meshcop/dataset_local.cpp \ |
| src/core/meshcop/dataset_manager.cpp \ |
| src/core/meshcop/dataset_manager_ftd.cpp \ |
| src/core/meshcop/dtls.cpp \ |
| src/core/meshcop/energy_scan_client.cpp \ |
| src/core/meshcop/joiner.cpp \ |
| src/core/meshcop/joiner_router.cpp \ |
| src/core/meshcop/leader.cpp \ |
| src/core/meshcop/meshcop.cpp \ |
| src/core/meshcop/meshcop_tlvs.cpp \ |
| src/core/meshcop/panid_query_client.cpp \ |
| src/core/meshcop/timestamp.cpp \ |
| src/core/net/dhcp6_client.cpp \ |
| src/core/net/dhcp6_server.cpp \ |
| src/core/net/dns_client.cpp \ |
| src/core/net/icmp6.cpp \ |
| src/core/net/ip6.cpp \ |
| src/core/net/ip6_address.cpp \ |
| src/core/net/ip6_filter.cpp \ |
| src/core/net/ip6_headers.cpp \ |
| src/core/net/ip6_mpl.cpp \ |
| src/core/net/netif.cpp \ |
| src/core/net/udp6.cpp \ |
| src/core/radio/radio_callbacks.cpp \ |
| src/core/radio/radio_platform.cpp \ |
| src/core/thread/address_resolver.cpp \ |
| src/core/thread/announce_begin_server.cpp \ |
| src/core/thread/announce_sender.cpp \ |
| src/core/thread/child_table.cpp \ |
| src/core/thread/device_mode.cpp \ |
| src/core/thread/energy_scan_server.cpp \ |
| src/core/thread/indirect_sender.cpp \ |
| src/core/thread/key_manager.cpp \ |
| src/core/thread/link_quality.cpp \ |
| src/core/thread/lowpan.cpp \ |
| src/core/thread/mesh_forwarder.cpp \ |
| src/core/thread/mesh_forwarder_ftd.cpp \ |
| src/core/thread/mesh_forwarder_mtd.cpp \ |
| src/core/thread/mle.cpp \ |
| src/core/thread/mle_router.cpp \ |
| src/core/thread/network_data.cpp \ |
| src/core/thread/network_data_leader.cpp \ |
| src/core/thread/network_data_leader_ftd.cpp \ |
| src/core/thread/network_data_local.cpp \ |
| src/core/thread/network_diagnostic.cpp \ |
| src/core/thread/panid_query_server.cpp \ |
| src/core/thread/router_table.cpp \ |
| src/core/thread/src_match_controller.cpp \ |
| src/core/thread/thread_netif.cpp \ |
| src/core/thread/topology.cpp \ |
| src/core/utils/channel_manager.cpp \ |
| src/core/utils/channel_monitor.cpp \ |
| src/core/utils/child_supervision.cpp \ |
| src/core/utils/heap.cpp \ |
| src/core/utils/jam_detector.cpp \ |
| src/core/utils/missing_strlcpy.c \ |
| src/core/utils/missing_strlcat.c \ |
| src/core/utils/missing_strnlen.c \ |
| src/core/utils/parse_cmdline.cpp \ |
| src/core/utils/slaac_address.cpp \ |
| src/ncp/hdlc.cpp \ |
| src/ncp/spinel.c \ |
| src/ncp/spinel_decoder.cpp \ |
| src/ncp/spinel_encoder.cpp \ |
| src/posix/platform/alarm.c \ |
| src/posix/platform/entropy.c \ |
| src/posix/platform/hdlc_interface.cpp \ |
| src/posix/platform/logging.c \ |
| src/posix/platform/misc.c \ |
| src/posix/platform/radio_spinel.cpp \ |
| src/posix/platform/settings.cpp \ |
| src/posix/platform/system.c \ |
| src/posix/platform/uart.c \ |
| third_party/mbedtls/repo/library/md.c \ |
| third_party/mbedtls/repo/library/md_wrap.c \ |
| third_party/mbedtls/repo/library/memory_buffer_alloc.c \ |
| third_party/mbedtls/repo/library/platform.c \ |
| third_party/mbedtls/repo/library/platform_util.c \ |
| third_party/mbedtls/repo/library/sha256.c \ |
| third_party/mbedtls/repo/library/bignum.c \ |
| third_party/mbedtls/repo/library/ccm.c \ |
| third_party/mbedtls/repo/library/cipher.c \ |
| third_party/mbedtls/repo/library/cipher_wrap.c \ |
| third_party/mbedtls/repo/library/cmac.c \ |
| third_party/mbedtls/repo/library/ctr_drbg.c \ |
| third_party/mbedtls/repo/library/debug.c \ |
| third_party/mbedtls/repo/library/ecjpake.c \ |
| third_party/mbedtls/repo/library/ecp_curves.c \ |
| third_party/mbedtls/repo/library/entropy.c \ |
| third_party/mbedtls/repo/library/entropy_poll.c \ |
| third_party/mbedtls/repo/library/ssl_cookie.c \ |
| third_party/mbedtls/repo/library/ssl_ciphersuites.c \ |
| third_party/mbedtls/repo/library/ssl_cli.c \ |
| third_party/mbedtls/repo/library/ssl_srv.c \ |
| third_party/mbedtls/repo/library/ssl_ticket.c \ |
| third_party/mbedtls/repo/library/ssl_tls.c \ |
| third_party/mbedtls/repo/library/aes.c \ |
| third_party/mbedtls/repo/library/ecp.c \ |
| $(NULL) |
| |
| include $(OT_EXTRA_BUILD_CONFIG) |
| |
| ifeq ($(filter -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=%,$(LOCAL_CFLAGS)),) |
| LOCAL_CFLAGS += \ |
| -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"openthread-core-posix-config.h\" \ |
| $(NULL) |
| endif |
| |
| include $(BUILD_STATIC_LIBRARY) |
| |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE := ot-cli |
| LOCAL_MODULE_TAGS := eng |
| |
| LOCAL_C_INCLUDES := \ |
| $(LOCAL_PATH)/include \ |
| $(LOCAL_PATH)/src \ |
| $(LOCAL_PATH)/src/cli \ |
| $(LOCAL_PATH)/src/core \ |
| $(LOCAL_PATH)/src/posix/platform \ |
| $(LOCAL_PATH)/third_party/mbedtls \ |
| $(LOCAL_PATH)/third_party/mbedtls/repo/include \ |
| $(NULL) |
| |
| LOCAL_CFLAGS := \ |
| -DMBEDTLS_CONFIG_FILE=\"mbedtls-config.h\" \ |
| -DOPENTHREAD_CONFIG_FILE=\<openthread-config-android.h\> \ |
| $(OPENTHREAD_COMMON_FLAGS) \ |
| -DOPENTHREAD_CONFIG_POSIX_APP_ENABLE_PTY_DEVICE=1 \ |
| -DOPENTHREAD_CONFIG_UART_CLI_RAW=1 \ |
| -DOPENTHREAD_FTD=1 \ |
| -DOPENTHREAD_POSIX=1 \ |
| -DOPENTHREAD_POSIX_APP_TYPE=2 \ |
| -DSPINEL_PLATFORM_HEADER=\"spinel_platform.h\" \ |
| $(NULL) |
| |
| LOCAL_CPPFLAGS := \ |
| -Wno-non-virtual-dtor \ |
| $(NULL) |
| |
| LOCAL_LDLIBS := \ |
| -lutil |
| |
| LOCAL_SRC_FILES := \ |
| src/cli/cli.cpp \ |
| src/cli/cli_coap.cpp \ |
| src/cli/cli_commissioner.cpp \ |
| src/cli/cli_console.cpp \ |
| src/cli/cli_dataset.cpp \ |
| src/cli/cli_joiner.cpp \ |
| src/cli/cli_server.cpp \ |
| src/cli/cli_uart.cpp \ |
| src/cli/cli_udp.cpp \ |
| src/posix/main.c \ |
| $(NULL) |
| |
| include $(OT_EXTRA_BUILD_CONFIG) |
| |
| ifeq ($(filter -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=%,$(LOCAL_CFLAGS)),) |
| LOCAL_CFLAGS += \ |
| -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"openthread-core-posix-config.h\" \ |
| $(NULL) |
| endif |
| |
| LOCAL_STATIC_LIBRARIES = ot-core |
| include $(BUILD_EXECUTABLE) |
| |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE := ot-ncp |
| LOCAL_MODULE_TAGS := eng |
| |
| LOCAL_C_INCLUDES := \ |
| $(LOCAL_PATH)/include \ |
| $(LOCAL_PATH)/src \ |
| $(LOCAL_PATH)/src/core \ |
| $(LOCAL_PATH)/src/ncp \ |
| $(LOCAL_PATH)/src/posix/platform \ |
| $(LOCAL_PATH)/third_party/mbedtls \ |
| $(LOCAL_PATH)/third_party/mbedtls/repo/include \ |
| $(NULL) |
| |
| LOCAL_CFLAGS := \ |
| -DMBEDTLS_CONFIG_FILE=\"mbedtls-config.h\" \ |
| -DOPENTHREAD_CONFIG_FILE=\<openthread-config-android.h\> \ |
| $(OPENTHREAD_COMMON_FLAGS) \ |
| -DOPENTHREAD_CONFIG_POSIX_APP_ENABLE_PTY_DEVICE=1 \ |
| -DOPENTHREAD_FTD=1 \ |
| -DOPENTHREAD_POSIX=1 \ |
| -DOPENTHREAD_POSIX_APP_TYPE=1 \ |
| -DSPINEL_PLATFORM_HEADER=\"spinel_platform.h\" \ |
| $(NULL) |
| |
| LOCAL_CPPFLAGS := \ |
| -Wno-non-virtual-dtor \ |
| $(NULL) |
| |
| LOCAL_LDLIBS := \ |
| -lutil |
| |
| LOCAL_SRC_FILES := \ |
| src/ncp/changed_props_set.cpp \ |
| src/ncp/ncp_base.cpp \ |
| src/ncp/ncp_base_mtd.cpp \ |
| src/ncp/ncp_base_ftd.cpp \ |
| src/ncp/ncp_base_dispatcher.cpp \ |
| src/ncp/ncp_buffer.cpp \ |
| src/ncp/ncp_uart.cpp \ |
| src/posix/main.c \ |
| $(NULL) |
| |
| include $(OT_EXTRA_BUILD_CONFIG) |
| |
| ifeq ($(filter -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=%,$(LOCAL_CFLAGS)),) |
| LOCAL_CFLAGS += \ |
| -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE=\"openthread-core-posix-config.h\" \ |
| $(NULL) |
| endif |
| |
| LOCAL_STATIC_LIBRARIES = ot-core |
| include $(BUILD_EXECUTABLE) |