2018-05-24 11:36:20 +02:00
|
|
|
PKG_NAME = nimble
|
2021-04-15 11:31:32 +02:00
|
|
|
PKG_URL = https://github.com/apache/mynewt-nimble.git
|
2022-03-22 08:53:47 +01:00
|
|
|
PKG_VERSION = 719bd3c435b728f07ce7aaffaf6cebbd9c659a46
|
2018-05-24 11:36:20 +02:00
|
|
|
PKG_LICENSE = Apache-2.0
|
|
|
|
|
2019-10-02 12:47:02 +02:00
|
|
|
include $(RIOTBASE)/pkg/pkg.mk
|
|
|
|
|
2018-05-24 11:36:20 +02:00
|
|
|
TDIR = $(RIOTPKG)/$(PKG_NAME)
|
2020-06-13 20:58:27 +02:00
|
|
|
PDIR = $(PKG_SOURCE_DIR)
|
2018-05-24 11:36:20 +02:00
|
|
|
|
2023-07-17 16:41:19 +02:00
|
|
|
CFLAGS += -Wno-unused-but-set-variable
|
|
|
|
|
2018-10-18 14:36:35 +02:00
|
|
|
# NimBLE is not optimized for building with all (extra) warnings enabled. So for
|
|
|
|
# now, we disable a number of selected compiler warnings when building NimBLE.
|
2021-11-04 15:45:33 +01:00
|
|
|
CFLAGS += -Wno-extra -Wno-cast-align
|
2018-10-18 14:36:35 +02:00
|
|
|
ifeq (llvm,$(TOOLCHAIN))
|
2018-08-14 14:39:11 +02:00
|
|
|
# the static function `ble_ll_adv_active_chanset_is_sec()` in
|
|
|
|
# `nimble/controller/src/ble_ll_adv.c` isn't used in our compilation path, so
|
|
|
|
# tell LLVM/clang not to be so pedantic with this.
|
|
|
|
CFLAGS += -Wno-unused-function
|
2019-08-28 16:07:47 +02:00
|
|
|
# Workaround, until https://github.com/apache/mynewt-nimble/pull/566 is merged
|
|
|
|
# upstream and the NimBLE version in RIOT is updated.
|
|
|
|
CFLAGS += -Wno-sometimes-uninitialized
|
2023-07-17 16:41:19 +02:00
|
|
|
CFLAGS += -Wno-parentheses-equality
|
|
|
|
# Backward compatibility with older versions of LLVM (when it doesn't know
|
|
|
|
# about the -Wno-foo, it won't throw any -Wfoo related warnings anyway)
|
|
|
|
CFLAGS += -Wno-unknown-warning-option
|
2018-08-14 14:39:11 +02:00
|
|
|
endif
|
2018-05-24 11:36:20 +02:00
|
|
|
|
2022-02-14 10:24:55 +01:00
|
|
|
IGNORE := nimble_autoconn_% nimble_phy_% nimble_%_ext nimble_autoadv%
|
2019-08-29 15:56:24 +02:00
|
|
|
SUBMODS := $(filter-out $(IGNORE),$(filter nimble_%,$(USEMODULE)))
|
2019-02-22 13:55:16 +01:00
|
|
|
|
2018-05-24 11:36:20 +02:00
|
|
|
.PHONY: all
|
|
|
|
|
2019-06-27 15:18:37 +02:00
|
|
|
all: $(SUBMODS)
|
2019-02-22 13:55:16 +01:00
|
|
|
|
2021-07-05 14:31:14 +02:00
|
|
|
# glue code and RIOT port modules
|
2019-02-22 13:55:16 +01:00
|
|
|
nimble_riot_contrib:
|
2021-03-12 15:50:14 +01:00
|
|
|
$(QQ)"$(MAKE)" -C $(TDIR)/contrib/
|
2019-02-22 13:55:16 +01:00
|
|
|
|
|
|
|
nimble_porting_nimble:
|
2021-07-05 14:31:14 +02:00
|
|
|
$(QQ)"$(MAKE)" -C $(PDIR)/porting/nimble/src/ -f $(RIOTPKG)/$(PKG_NAME)/nimble.porting.mk MODULE=$@
|
2019-02-22 13:55:16 +01:00
|
|
|
|
|
|
|
nimble_npl_riot:
|
2022-08-11 09:53:57 +02:00
|
|
|
$(QQ)"$(MAKE)" -C $(PDIR)/porting/npl/riot/src/ -f $(RIOTPKG)/$(PKG_NAME)/nimble.npl.mk MODULE=$@
|
2019-02-22 13:55:16 +01:00
|
|
|
|
2022-03-22 08:53:47 +01:00
|
|
|
# generic modules
|
|
|
|
nimble_transport:
|
|
|
|
$(QQ)"$(MAKE)" -C $(PDIR)/nimble/transport/src/ -f $(RIOTBASE)/Makefile.base MODULE=$@
|
|
|
|
|
2022-08-11 09:44:19 +02:00
|
|
|
nimble_transport_hci_h4:
|
|
|
|
$(QQ)"$(MAKE)" -C $(PDIR)/nimble/transport/common/hci_h4/src/ -f $(RIOTBASE)/Makefile.base MODULE=$@
|
|
|
|
|
2019-02-22 13:55:16 +01:00
|
|
|
# host modules
|
|
|
|
nimble_host:
|
2021-03-12 15:50:14 +01:00
|
|
|
$(QQ)"$(MAKE)" -C $(PDIR)/nimble/host/src/ -f $(TDIR)/nimble.host.mk
|
2019-02-22 13:55:16 +01:00
|
|
|
|
|
|
|
nimble_host_util:
|
2021-03-12 15:50:14 +01:00
|
|
|
$(QQ)"$(MAKE)" -C $(PDIR)/nimble/host/util/src/ -f $(RIOTBASE)/Makefile.base MODULE=$@
|
2019-02-22 13:55:16 +01:00
|
|
|
|
|
|
|
nimble_host_store_ram:
|
2021-03-12 15:50:14 +01:00
|
|
|
$(QQ)"$(MAKE)" -C $(PDIR)/nimble/host/store/ram/src/ -f $(RIOTBASE)/Makefile.base MODULE=$@
|
2018-05-24 11:36:20 +02:00
|
|
|
|
2019-02-22 13:55:16 +01:00
|
|
|
# service implementations
|
|
|
|
nimble_svc_gap:
|
2021-03-12 15:50:14 +01:00
|
|
|
$(QQ)"$(MAKE)" -C $(PDIR)/nimble/host/services/gap/src/ -f $(RIOTBASE)/Makefile.base MODULE=$@
|
2019-02-22 13:55:16 +01:00
|
|
|
|
|
|
|
nimble_svc_gatt:
|
2021-03-12 15:50:14 +01:00
|
|
|
$(QQ)"$(MAKE)" -C $(PDIR)/nimble/host/services/gatt/src/ -f $(RIOTBASE)/Makefile.base MODULE=$@
|
2019-02-22 13:55:16 +01:00
|
|
|
|
2019-03-27 11:29:10 +01:00
|
|
|
nimble_svc_ipss:
|
2021-03-12 15:50:14 +01:00
|
|
|
$(QQ)"$(MAKE)" -C $(PDIR)/nimble/host/services/ipss/src/ -f $(RIOTBASE)/Makefile.base MODULE=$@
|
2019-03-27 11:29:10 +01:00
|
|
|
|
2019-02-22 13:55:16 +01:00
|
|
|
# controller specific modules
|
|
|
|
nimble_controller:
|
2021-03-12 15:50:14 +01:00
|
|
|
$(QQ)"$(MAKE)" -C $(PDIR)/nimble/controller/src/ -f $(RIOTBASE)/Makefile.base MODULE=$@
|
2018-05-24 11:36:20 +02:00
|
|
|
|
2019-04-27 21:24:54 +02:00
|
|
|
nimble_drivers_nrf5x:
|
2021-03-12 15:50:14 +01:00
|
|
|
$(QQ)"$(MAKE)" -C $(PDIR)/nimble/drivers/$(CPU_FAM)/src/ -f $(RIOTBASE)/Makefile.base MODULE=$@
|
2018-05-24 11:36:20 +02:00
|
|
|
|
2019-03-26 09:50:08 +01:00
|
|
|
# additional, RIOT specific nimble modules
|
|
|
|
nimble_addr:
|
2021-03-12 15:50:14 +01:00
|
|
|
$(QQ)"$(MAKE)" -C $(TDIR)/addr/
|
2019-03-26 11:39:29 +01:00
|
|
|
|
2019-08-29 15:56:24 +02:00
|
|
|
nimble_autoconn:
|
2021-03-12 15:50:14 +01:00
|
|
|
$(QQ)"$(MAKE)" -C $(TDIR)/autoconn
|
2019-08-29 15:56:24 +02:00
|
|
|
|
2019-05-17 11:15:49 +02:00
|
|
|
nimble_netif:
|
2021-03-12 15:50:14 +01:00
|
|
|
$(QQ)"$(MAKE)" -C $(TDIR)/netif/
|
2019-05-17 11:15:49 +02:00
|
|
|
|
2021-04-20 14:45:30 +02:00
|
|
|
nimble_rpble:
|
|
|
|
$(QQ)"$(MAKE)" -C $(TDIR)/rpble/
|
|
|
|
|
2019-03-26 11:39:29 +01:00
|
|
|
nimble_scanlist:
|
2021-03-12 15:50:14 +01:00
|
|
|
$(QQ)"$(MAKE)" -C $(TDIR)/scanlist
|
2019-03-26 11:39:29 +01:00
|
|
|
|
2019-03-26 13:46:25 +01:00
|
|
|
nimble_scanner:
|
2021-03-12 15:50:14 +01:00
|
|
|
$(QQ)"$(MAKE)" -C $(TDIR)/scanner
|
2020-03-02 17:40:26 +01:00
|
|
|
|
|
|
|
nimble_statconn:
|
2021-03-12 15:50:14 +01:00
|
|
|
$(QQ)"$(MAKE)" -C $(TDIR)/statconn
|