extmod/extmod.mk: Make extmod.mk handle GIT_SUBMODULES.
This applies to nimble, btstack, axtls, mbedtls, lwip. Rather than having the ports individually manage GIT_SUBMODULES for these components, make extmod.mk append them when the relevant feature is enabled. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This commit is contained in:
parent
065af04a4e
commit
87011f6353
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
ifeq ($(MICROPY_BLUETOOTH_BTSTACK),1)
|
ifeq ($(MICROPY_BLUETOOTH_BTSTACK),1)
|
||||||
|
|
||||||
|
GIT_SUBMODULES += lib/btstack
|
||||||
MICROPY_BLUETOOTH_BTSTACK_USB ?= 0
|
MICROPY_BLUETOOTH_BTSTACK_USB ?= 0
|
||||||
|
|
||||||
BTSTACK_EXTMOD_DIR = extmod/btstack
|
BTSTACK_EXTMOD_DIR = extmod/btstack
|
||||||
|
@ -100,6 +100,7 @@ CFLAGS_MOD += -DMICROPY_PY_USSL=1
|
|||||||
ifeq ($(MICROPY_SSL_AXTLS),1)
|
ifeq ($(MICROPY_SSL_AXTLS),1)
|
||||||
CFLAGS_MOD += -DMICROPY_SSL_AXTLS=1 -I$(TOP)/lib/axtls/ssl -I$(TOP)/lib/axtls/crypto -I$(TOP)/extmod/axtls-include
|
CFLAGS_MOD += -DMICROPY_SSL_AXTLS=1 -I$(TOP)/lib/axtls/ssl -I$(TOP)/lib/axtls/crypto -I$(TOP)/extmod/axtls-include
|
||||||
AXTLS_DIR = lib/axtls
|
AXTLS_DIR = lib/axtls
|
||||||
|
GIT_SUBMODULES += $(AXTLS_DIR)
|
||||||
$(BUILD)/$(AXTLS_DIR)/%.o: CFLAGS += -Wno-all -Wno-unused-parameter -Wno-uninitialized -Wno-sign-compare -Wno-old-style-definition -Dmp_stream_errno=errno $(AXTLS_DEFS_EXTRA)
|
$(BUILD)/$(AXTLS_DIR)/%.o: CFLAGS += -Wno-all -Wno-unused-parameter -Wno-uninitialized -Wno-sign-compare -Wno-old-style-definition -Dmp_stream_errno=errno $(AXTLS_DEFS_EXTRA)
|
||||||
SRC_MOD += $(addprefix $(AXTLS_DIR)/,\
|
SRC_MOD += $(addprefix $(AXTLS_DIR)/,\
|
||||||
ssl/asn1.c \
|
ssl/asn1.c \
|
||||||
@ -118,7 +119,7 @@ SRC_MOD += $(addprefix $(AXTLS_DIR)/,\
|
|||||||
)
|
)
|
||||||
else ifeq ($(MICROPY_SSL_MBEDTLS),1)
|
else ifeq ($(MICROPY_SSL_MBEDTLS),1)
|
||||||
MBEDTLS_DIR = lib/mbedtls
|
MBEDTLS_DIR = lib/mbedtls
|
||||||
CFLAGS_MOD += -DMICROPY_SSL_MBEDTLS=1 -I$(TOP)/$(MBEDTLS_DIR)/include
|
GIT_SUBMODULES += $(MBEDTLS_DIR)
|
||||||
SRC_MOD += lib/mbedtls_errors/mp_mbedtls_errors.c
|
SRC_MOD += lib/mbedtls_errors/mp_mbedtls_errors.c
|
||||||
SRC_MOD += $(addprefix $(MBEDTLS_DIR)/library/,\
|
SRC_MOD += $(addprefix $(MBEDTLS_DIR)/library/,\
|
||||||
aes.c \
|
aes.c \
|
||||||
@ -199,6 +200,7 @@ endif
|
|||||||
# lwip
|
# lwip
|
||||||
|
|
||||||
ifeq ($(MICROPY_PY_LWIP),1)
|
ifeq ($(MICROPY_PY_LWIP),1)
|
||||||
|
GIT_SUBMODULES += lib/lwip
|
||||||
# A port should add an include path where lwipopts.h can be found (eg extmod/lwip-include)
|
# A port should add an include path where lwipopts.h can be found (eg extmod/lwip-include)
|
||||||
LWIP_DIR = lib/lwip/src
|
LWIP_DIR = lib/lwip/src
|
||||||
INC += -I$(TOP)/$(LWIP_DIR)/include
|
INC += -I$(TOP)/$(LWIP_DIR)/include
|
||||||
|
@ -17,6 +17,8 @@ CFLAGS_MOD += -DMICROPY_BLUETOOTH_NIMBLE_BINDINGS_ONLY=$(MICROPY_BLUETOOTH_NIMBL
|
|||||||
|
|
||||||
ifeq ($(MICROPY_BLUETOOTH_NIMBLE_BINDINGS_ONLY),0)
|
ifeq ($(MICROPY_BLUETOOTH_NIMBLE_BINDINGS_ONLY),0)
|
||||||
|
|
||||||
|
GIT_SUBMODULES += lib/mynewt-nimble
|
||||||
|
|
||||||
# On all ports where we provide the full implementation (i.e. not just
|
# On all ports where we provide the full implementation (i.e. not just
|
||||||
# bindings like on ESP32), then we don't need to use the ringbuffer. In this
|
# bindings like on ESP32), then we don't need to use the ringbuffer. In this
|
||||||
# case, all NimBLE events are run by the MicroPython scheduler. On Unix, the
|
# case, all NimBLE events are run by the MicroPython scheduler. On Unix, the
|
||||||
|
@ -7,7 +7,7 @@ BOARD_DIR ?= boards/$(BOARD)
|
|||||||
BUILD ?= build-$(BOARD)
|
BUILD ?= build-$(BOARD)
|
||||||
PORT ?= /dev/ttyACM0
|
PORT ?= /dev/ttyACM0
|
||||||
CROSS_COMPILE ?= arm-none-eabi-
|
CROSS_COMPILE ?= arm-none-eabi-
|
||||||
GIT_SUBMODULES += lib/tinyusb lib/nxp_driver lib/lwip lib/mbedtls
|
GIT_SUBMODULES += lib/tinyusb lib/nxp_driver
|
||||||
|
|
||||||
# MicroPython feature configurations
|
# MicroPython feature configurations
|
||||||
FROZEN_MANIFEST ?= boards/manifest.py
|
FROZEN_MANIFEST ?= boards/manifest.py
|
||||||
|
@ -35,7 +35,7 @@ MBOOT_TEXT0_ADDR ?= 0x08000000
|
|||||||
include $(TOP)/py/py.mk
|
include $(TOP)/py/py.mk
|
||||||
include $(TOP)/extmod/extmod.mk
|
include $(TOP)/extmod/extmod.mk
|
||||||
|
|
||||||
GIT_SUBMODULES += lib/libhydrogen lib/lwip lib/mbedtls lib/stm32lib
|
GIT_SUBMODULES += lib/libhydrogen lib/stm32lib
|
||||||
|
|
||||||
query-variants:
|
query-variants:
|
||||||
$(ECHO) "VARIANTS:" $(BOARD_VARIANTS)
|
$(ECHO) "VARIANTS:" $(BOARD_VARIANTS)
|
||||||
@ -531,14 +531,12 @@ endif
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(MICROPY_BLUETOOTH_NIMBLE),1)
|
ifeq ($(MICROPY_BLUETOOTH_NIMBLE),1)
|
||||||
GIT_SUBMODULES += lib/mynewt-nimble
|
|
||||||
CFLAGS_MOD += -DMICROPY_PY_BLUETOOTH_ENABLE_L2CAP_CHANNELS=1
|
CFLAGS_MOD += -DMICROPY_PY_BLUETOOTH_ENABLE_L2CAP_CHANNELS=1
|
||||||
include $(TOP)/extmod/nimble/nimble.mk
|
include $(TOP)/extmod/nimble/nimble.mk
|
||||||
SRC_C += mpnimbleport.c
|
SRC_C += mpnimbleport.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(MICROPY_BLUETOOTH_BTSTACK),1)
|
ifeq ($(MICROPY_BLUETOOTH_BTSTACK),1)
|
||||||
GIT_SUBMODULES += lib/btstack
|
|
||||||
MICROPY_BLUETOOTH_BTSTACK_H4 ?= 1
|
MICROPY_BLUETOOTH_BTSTACK_H4 ?= 1
|
||||||
include $(TOP)/extmod/btstack/btstack.mk
|
include $(TOP)/extmod/btstack/btstack.mk
|
||||||
SRC_C += mpbtstackport.c
|
SRC_C += mpbtstackport.c
|
||||||
|
@ -133,10 +133,9 @@ endif
|
|||||||
|
|
||||||
ifeq ($(MICROPY_PY_USSL),1)
|
ifeq ($(MICROPY_PY_USSL),1)
|
||||||
ifeq ($(MICROPY_SSL_AXTLS),1)
|
ifeq ($(MICROPY_SSL_AXTLS),1)
|
||||||
GIT_SUBMODULES += lib/axtls
|
|
||||||
endif
|
endif
|
||||||
ifeq ($(MICROPY_SSL_MBEDTLS),1)
|
ifeq ($(MICROPY_SSL_MBEDTLS),1)
|
||||||
GIT_SUBMODULES += lib/mbedtls
|
|
||||||
CFLAGS += -DMBEDTLS_CONFIG_FILE='"mbedtls/mbedtls_config.h"'
|
CFLAGS += -DMBEDTLS_CONFIG_FILE='"mbedtls/mbedtls_config.h"'
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@ -182,14 +181,12 @@ endif
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# BTstack is enabled.
|
# BTstack is enabled.
|
||||||
GIT_SUBMODULES += lib/btstack
|
|
||||||
include $(TOP)/extmod/btstack/btstack.mk
|
include $(TOP)/extmod/btstack/btstack.mk
|
||||||
SRC_BTSTACK += lib/btstack/platform/embedded/btstack_run_loop_embedded.c
|
SRC_BTSTACK += lib/btstack/platform/embedded/btstack_run_loop_embedded.c
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
# NimBLE is enabled.
|
# NimBLE is enabled.
|
||||||
GIT_SUBMODULES += lib/mynewt-nimble
|
|
||||||
CFLAGS += -DMICROPY_PY_BLUETOOTH_ENABLE_L2CAP_CHANNELS=1
|
CFLAGS += -DMICROPY_PY_BLUETOOTH_ENABLE_L2CAP_CHANNELS=1
|
||||||
include $(TOP)/extmod/nimble/nimble.mk
|
include $(TOP)/extmod/nimble/nimble.mk
|
||||||
|
|
||||||
|
@ -198,8 +198,9 @@ function ci_mimxrt_setup {
|
|||||||
|
|
||||||
function ci_mimxrt_build {
|
function ci_mimxrt_build {
|
||||||
make ${MAKEOPTS} -C mpy-cross
|
make ${MAKEOPTS} -C mpy-cross
|
||||||
make ${MAKEOPTS} -C ports/mimxrt submodules
|
make ${MAKEOPTS} -C ports/mimxrt BOARD=MIMXRT1020_EVK submodules
|
||||||
make ${MAKEOPTS} -C ports/mimxrt BOARD=MIMXRT1020_EVK
|
make ${MAKEOPTS} -C ports/mimxrt BOARD=MIMXRT1020_EVK
|
||||||
|
make ${MAKEOPTS} -C ports/mimxrt BOARD=TEENSY40 submodules
|
||||||
make ${MAKEOPTS} -C ports/mimxrt BOARD=TEENSY40
|
make ${MAKEOPTS} -C ports/mimxrt BOARD=TEENSY40
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -310,6 +311,7 @@ function ci_stm32_setup {
|
|||||||
function ci_stm32_pyb_build {
|
function ci_stm32_pyb_build {
|
||||||
make ${MAKEOPTS} -C mpy-cross
|
make ${MAKEOPTS} -C mpy-cross
|
||||||
make ${MAKEOPTS} -C ports/stm32 MICROPY_PY_NETWORK_WIZNET5K=5200 submodules
|
make ${MAKEOPTS} -C ports/stm32 MICROPY_PY_NETWORK_WIZNET5K=5200 submodules
|
||||||
|
make ${MAKEOPTS} -C ports/stm32 BOARD=PYBD_SF2 submodules
|
||||||
git submodule update --init lib/btstack
|
git submodule update --init lib/btstack
|
||||||
git submodule update --init lib/mynewt-nimble
|
git submodule update --init lib/mynewt-nimble
|
||||||
make ${MAKEOPTS} -C ports/stm32 BOARD=PYBV11 MICROPY_PY_NETWORK_WIZNET5K=5200 USER_C_MODULES=../../examples/usercmodule
|
make ${MAKEOPTS} -C ports/stm32 BOARD=PYBV11 MICROPY_PY_NETWORK_WIZNET5K=5200 USER_C_MODULES=../../examples/usercmodule
|
||||||
@ -326,7 +328,7 @@ function ci_stm32_pyb_build {
|
|||||||
|
|
||||||
function ci_stm32_nucleo_build {
|
function ci_stm32_nucleo_build {
|
||||||
make ${MAKEOPTS} -C mpy-cross
|
make ${MAKEOPTS} -C mpy-cross
|
||||||
make ${MAKEOPTS} -C ports/stm32 submodules
|
make ${MAKEOPTS} -C ports/stm32 BOARD=NUCLEO_H743ZI submodules
|
||||||
git submodule update --init lib/mynewt-nimble
|
git submodule update --init lib/mynewt-nimble
|
||||||
|
|
||||||
# Test building various MCU families, some with additional options.
|
# Test building various MCU families, some with additional options.
|
||||||
|
Loading…
Reference in New Issue
Block a user