summaryrefslogtreecommitdiff
path: root/extmod/btstack
diff options
context:
space:
mode:
authorJim Mussared <jim.mussared@gmail.com>2022-10-08 23:59:08 +1100
committerDamien George <damien@micropython.org>2022-10-11 23:31:49 +1100
commitd6d87225585a9494093d791c807bce652e4c82d8 (patch)
tree170f66c7db37246575d927025e7d96daf29c05e3 /extmod/btstack
parent87011f63530f55411843622af8b1bc2dbf98a6f7 (diff)
extmod: Make extmod.mk self-contained.
This makes it so that all a port needs to do is set the relevant variables and "include extmod.mk" and doesn't need to worry about adding anything to OBJ, CFLAGS, SRC_QSTR, etc. Make all extmod variables (src, flags, etc) private to extmod.mk. Also move common/shared, extmod-related fragments (e.g. wiznet, cyw43, bluetooth) into extmod.mk. Now that SRC_MOD, CFLAGS_MOD, CXXFLAGS_MOD are unused by both extmod.mk (and user-C-modules in a previous commit), remove all uses of them from port makefiles. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Diffstat (limited to 'extmod/btstack')
-rw-r--r--extmod/btstack/btstack.mk38
1 files changed, 23 insertions, 15 deletions
diff --git a/extmod/btstack/btstack.mk b/extmod/btstack/btstack.mk
index 14b8d08bf..ca9593156 100644
--- a/extmod/btstack/btstack.mk
+++ b/extmod/btstack/btstack.mk
@@ -3,17 +3,19 @@
ifeq ($(MICROPY_BLUETOOTH_BTSTACK),1)
GIT_SUBMODULES += lib/btstack
+
MICROPY_BLUETOOTH_BTSTACK_USB ?= 0
+MICROPY_BLUETOOTH_BTSTACK_H4 ?= 1
BTSTACK_EXTMOD_DIR = extmod/btstack
-EXTMOD_SRC_C += extmod/btstack/modbluetooth_btstack.c
+SRC_EXTMOD_C += $(BTSTACK_EXTMOD_DIR)/modbluetooth_btstack.c
INC += -I$(TOP)/$(BTSTACK_EXTMOD_DIR)
-CFLAGS_MOD += -DMICROPY_BLUETOOTH_BTSTACK=1
-CFLAGS_MOD += -DMICROPY_PY_BLUETOOTH_USE_SYNC_EVENTS=1
-CFLAGS_MOD += -DMICROPY_PY_BLUETOOTH_ENABLE_PAIRING_BONDING=1
+CFLAGS_EXTMOD += -DMICROPY_BLUETOOTH_BTSTACK=1
+CFLAGS_EXTMOD += -DMICROPY_PY_BLUETOOTH_USE_SYNC_EVENTS=1
+CFLAGS_EXTMOD += -DMICROPY_PY_BLUETOOTH_ENABLE_PAIRING_BONDING=1
BTSTACK_DIR = $(TOP)/lib/btstack
@@ -28,44 +30,50 @@ INC += -I$(BTSTACK_DIR)/3rd-party/bluedroid/encoder/include
INC += -I$(BTSTACK_DIR)/3rd-party/md5
INC += -I$(BTSTACK_DIR)/3rd-party/yxml
-SRC_BTSTACK = \
+SRC_BTSTACK_C = \
$(addprefix lib/btstack/src/, $(SRC_FILES)) \
$(addprefix lib/btstack/src/ble/, $(filter-out %_tlv.c, $(SRC_BLE_FILES))) \
ifeq ($(MICROPY_BLUETOOTH_BTSTACK_USB),1)
ifeq ($(MICROPY_BLUETOOTH_BTSTACK_H4),1)
- $(error Cannot specifiy both MICROPY_BLUETOOTH_BTSTACK_USB and MICROPY_BLUETOOTH_BTSTACK_H4)
+ $(error Cannot enable both MICROPY_BLUETOOTH_BTSTACK_USB and MICROPY_BLUETOOTH_BTSTACK_H4)
+endif
+endif
+
+ifneq ($(MICROPY_BLUETOOTH_BTSTACK_USB),1)
+ifneq ($(MICROPY_BLUETOOTH_BTSTACK_H4),1)
+ $(error Must enable one of MICROPY_BLUETOOTH_BTSTACK_USB or MICROPY_BLUETOOTH_BTSTACK_H4)
endif
endif
ifeq ($(MICROPY_BLUETOOTH_BTSTACK_USB),1)
-SRC_BTSTACK += \
+SRC_BTSTACK_C += \
lib/btstack/platform/libusb/hci_transport_h2_libusb.c
-CFLAGS_MOD += -DMICROPY_BLUETOOTH_BTSTACK_USB=1
+CFLAGS_EXTMOD += -DMICROPY_BLUETOOTH_BTSTACK_USB=1
-CFLAGS += $(shell pkg-config libusb-1.0 --cflags)
-LDFLAGS += $(shell pkg-config libusb-1.0 --libs)
+CFLAGS_THIRDPARTY += $(shell pkg-config libusb-1.0 --cflags)
+LDFLAGS_THIRDPARTY += $(shell pkg-config libusb-1.0 --libs)
endif
ifeq ($(MICROPY_BLUETOOTH_BTSTACK_H4),1)
-SRC_BTSTACK += \
+SRC_BTSTACK_C += \
lib/btstack/src/hci_transport_h4.c \
lib/btstack/chipset/zephyr/btstack_chipset_zephyr.c
-EXTMOD_SRC_C += \
+SRC_BTSTACK_C += \
extmod/btstack/btstack_hci_uart.c \
-CFLAGS_MOD += -DMICROPY_BLUETOOTH_BTSTACK_H4=1
+CFLAGS_EXTMOD += -DMICROPY_BLUETOOTH_BTSTACK_H4=1
endif
ifeq ($(MICROPY_BLUETOOTH_BTSTACK_ENABLE_CLASSIC),1)
include $(BTSTACK_DIR)/src/classic/Makefile.inc
-SRC_BTSTACK += \
+SRC_BTSTACK_C += \
$(addprefix lib/btstack/src/classic/, $(SRC_CLASSIC_FILES))
endif
-LIB_SRC_C += $(SRC_BTSTACK)
+SRC_THIRDPARTY_C += $(SRC_BTSTACK_C)
# Suppress some warnings.
BTSTACK_WARNING_CFLAGS = -Wno-old-style-definition -Wno-unused-variable -Wno-unused-parameter -Wno-implicit-fallthrough