| # |
| # Copyright (c) 2016-2017, 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 = \ |
| libopenthread-nrf52840.a \ |
| libopenthread-nrf52840-sdk.a \ |
| libopenthread-nrf52840-softdevice-sdk.a \ |
| libopenthread-nrf52840-transport.a \ |
| $(NULL) |
| |
| # Do not enable -pedantic-errors for nRF52840 driver library |
| override CFLAGS := $(filter-out -pedantic-errors,$(CFLAGS)) |
| override CXXFLAGS := $(filter-out -pedantic-errors,$(CXXFLAGS)) |
| |
| # Do not enable -Wundef for nRF52840 driver library |
| override CFLAGS := $(filter-out -Wundef,$(CFLAGS)) |
| override CXXFLAGS := $(filter-out -Wundef,$(CXXFLAGS)) |
| |
| # Do not enable -Wcast-align for nRF52840 driver library |
| override CFLAGS := $(filter-out -Wcast-align,$(CFLAGS)) |
| override CXXFLAGS := $(filter-out -Wcast-align,$(CXXFLAGS)) |
| |
| COMMONCPPFLAGS = \ |
| -DCONFIG_GPIO_AS_PINRESET \ |
| -DNRF52840_XXAA \ |
| -DUSE_APP_CONFIG=1 \ |
| -I$(srcdir) \ |
| -I$(top_srcdir)/include \ |
| -I$(top_srcdir)/examples/platforms \ |
| -I$(top_srcdir)/examples/platforms/nrf528xx/src \ |
| -I$(top_srcdir)/examples/platforms/nrf528xx/src/transport \ |
| -I$(top_srcdir)/src/core \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/drivers/radio \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/drivers/radio/fem/three_pin_gpio \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/drivers/radio/mac_features \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/drivers/radio/mac_features/ack_generator \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/drivers/radio/rsch \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/drivers/radio/rsch/raal \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/drivers/radio/rsch/raal/softdevice \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/drivers/radio/platform/lp_timer \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/drivers/radio/platform/temperature \ |
| -Wno-unused-parameter \ |
| $(NULL) |
| |
| # Only reference the SDK header files included in third_party/NordicSemiconductor |
| # when building the example applications. |
| # |
| # When building just the platform libraries, the caller of configure is expected |
| # to provide the correct -I arguments to locate the necessary header files in an |
| # external copy of the Nordic nRF5 SDK. |
| # |
| # Note that an exception is made for the 802.15.4 radio driver, which is always |
| # built using the sources in third_party/NordicSemiconductor/drivers/radio. |
| if OPENTHREAD_ENABLE_EXAMPLES |
| COMMONCPPFLAGS += \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/cmsis \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/config \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/config/nrf52840/config \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/dependencies \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/drivers/clock \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/drivers/common \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/drivers/power \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/drivers/systick \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/drivers/usbd \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/libraries/app_error \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/libraries/atfifo \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/libraries/atomic \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/libraries/block_dev \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/libraries/delay \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/libraries/usb \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/libraries/usb/config \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/libraries/usb/class/cdc \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/libraries/usb/class/cdc/acm \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/libraries/utf_converter \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/nrfx \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/nrfx/hal \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/nrfx/drivers \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/nrfx/drivers/include \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/nrfx/mdk \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/nrfx/soc \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/softdevice/s140/headers \ |
| -I$(top_srcdir)/third_party/NordicSemiconductor/softdevice/s140/headers/nrf52 \ |
| -Wno-unused-parameter \ |
| $(NULL) |
| endif |
| |
| PLATFORM_COMMON_SOURCES = \ |
| src/alarm.c \ |
| src/diag.c \ |
| src/entropy.c \ |
| src/fem.c \ |
| src/flash.c \ |
| src/logging.c \ |
| src/misc.c \ |
| src/radio.c \ |
| src/system.c \ |
| src/temp.c \ |
| $(NULL) |
| |
| TRANSPORT_SOURCES = \ |
| src/transport/spi-slave.c \ |
| src/transport/uart.c \ |
| src/transport/usb-cdc-uart.c \ |
| src/transport/transport.c \ |
| $(NULL) |
| |
| SINGLEPHY_SOURCES = \ |
| src/flash_nosd.c \ |
| $(NULL) |
| |
| SOFTDEVICE_SOURCES = \ |
| src/flash_sd.c \ |
| src/softdevice.c \ |
| src/softdevice.h \ |
| $(NULL) |
| |
| SOFTDEVICE_CPPFLAGS = \ |
| -DSOFTDEVICE_PRESENT \ |
| -DS140 \ |
| $(NULL) |
| |
| PLATFORM_SOURCES = \ |
| $(PLATFORM_COMMON_SOURCES) \ |
| $(NULL) |
| |
| libopenthread_nrf52840_a_CPPFLAGS = \ |
| $(COMMONCPPFLAGS) \ |
| $(SINGLEPHY_CPPFLAGS) \ |
| -DPLATFORM_OPENTHREAD_VANILLA \ |
| $(NULL) |
| |
| libopenthread_nrf52840_a_SOURCES = \ |
| $(PLATFORM_SOURCES) \ |
| $(SINGLEPHY_SOURCES) \ |
| $(NULL) |
| |
| libopenthread_nrf52840_sdk_a_CPPFLAGS = \ |
| $(COMMONCPPFLAGS) \ |
| $(SINGLEPHY_CPPFLAGS) \ |
| $(NULL) |
| |
| libopenthread_nrf52840_sdk_a_SOURCES = \ |
| $(PLATFORM_SOURCES) \ |
| $(SINGLEPHY_SOURCES) \ |
| $(NULL) |
| |
| libopenthread_nrf52840_softdevice_sdk_a_CPPFLAGS = \ |
| $(COMMONCPPFLAGS) \ |
| $(SOFTDEVICE_CPPFLAGS) \ |
| $(NULL) |
| |
| libopenthread_nrf52840_softdevice_sdk_a_SOURCES = \ |
| $(PLATFORM_SOURCES) \ |
| $(SOFTDEVICE_SOURCES) \ |
| $(NULL) |
| |
| libopenthread_nrf52840_transport_a_CPPFLAGS = \ |
| $(COMMONCPPFLAGS) \ |
| $(NULL) |
| |
| libopenthread_nrf52840_transport_a_SOURCES = \ |
| $(TRANSPORT_SOURCES) \ |
| $(NULL) |
| |
| Dash = - |
| |
| libopenthread_nrf52840_a_LIBADD = \ |
| $(shell find $(top_builddir)/examples/platforms/utils $(Dash)type f $(Dash)name "*.o") \ |
| $(shell find $(top_builddir)/third_party/jlink/SEGGER_RTT_V640/RTT $(Dash)type f $(Dash)name "*.o") |
| |
| libopenthread_nrf52840_sdk_a_LIBADD = \ |
| $(shell find $(top_builddir)/examples/platforms/utils $(Dash)type f $(Dash)name "*.o") |
| |
| libopenthread_nrf52840_softdevice_sdk_a_LIBADD = \ |
| $(shell find $(top_builddir)/examples/platforms/utils $(Dash)type f $(Dash)name "*.o") |
| |
| libopenthread_nrf52840_transport_a_LIBADD = \ |
| $(shell find $(top_builddir)/examples/platforms/utils $(Dash)type f $(Dash)name "*.o") |
| |
| include $(abs_top_nlbuild_autotools_dir)/automake/post.am |