This is an automated email from the ASF dual-hosted git repository. xiaoxiang781216 pushed a commit to branch releases/13.0 in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 2754c26a9bea383a347a3a50746645a46ea4a297 Author: raiden00pl <[email protected]> AuthorDate: Sun May 31 09:34:14 2026 +0200 boards/arm/stm32l4: build through common STM32 board infrastructure Add boards/arm/stm32l4/common so STM32L4 boards build through the shared STM32 board-common tree (boards/arm/common/stm32), like the other split STM32 families. Convert each STM32L4 board's src/Makefile to src/Make.defs so the per-board sources are pulled in by the common board Makefile. Signed-off-by: raiden00pl <[email protected]> --- .../b-l475e-iot01a/src/{Makefile => Make.defs} | 4 ++- boards/arm/stm32l4/common/CMakeLists.txt | 25 ++++++++++++++++ boards/arm/stm32l4/common/Kconfig | 6 ++++ .../stm32l4/{nucleo-l452re/src => common}/Makefile | 33 +++++++++------------- .../nucleo-l432kc/src/{Makefile => Make.defs} | 4 ++- .../nucleo-l452re/src/{Makefile => Make.defs} | 4 ++- .../nucleo-l476rg/src/{Makefile => Make.defs} | 4 ++- .../nucleo-l496zg/src/{Makefile => Make.defs} | 4 ++- .../steval-stlcs01v1/src/{Makefile => Make.defs} | 4 ++- .../stm32l476-mdk/src/{Makefile => Make.defs} | 4 ++- .../stm32l476vg-disco/src/{Makefile => Make.defs} | 4 ++- .../stm32l4r9ai-disco/src/{Makefile => Make.defs} | 4 ++- 12 files changed, 71 insertions(+), 29 deletions(-) diff --git a/boards/arm/stm32l4/b-l475e-iot01a/src/Makefile b/boards/arm/stm32l4/b-l475e-iot01a/src/Make.defs similarity index 89% rename from boards/arm/stm32l4/b-l475e-iot01a/src/Makefile rename to boards/arm/stm32l4/b-l475e-iot01a/src/Make.defs index 4b6dba43ad1..f9a89b4acba 100644 --- a/boards/arm/stm32l4/b-l475e-iot01a/src/Makefile +++ b/boards/arm/stm32l4/b-l475e-iot01a/src/Make.defs @@ -34,4 +34,6 @@ ifeq ($(CONFIG_SPIRIT_NETDEV),y) CSRCS += stm32_spirit.c endif -include $(TOPDIR)/boards/Board.mk +DEPPATH += --dep-path board +VPATH += :board +CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)board diff --git a/boards/arm/stm32l4/common/CMakeLists.txt b/boards/arm/stm32l4/common/CMakeLists.txt new file mode 100644 index 00000000000..96431ebea0e --- /dev/null +++ b/boards/arm/stm32l4/common/CMakeLists.txt @@ -0,0 +1,25 @@ +# ############################################################################## +# boards/arm/stm32l4/common/CMakeLists.txt +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +if(CONFIG_ARCH_BOARD_COMMON) + add_subdirectory(${NUTTX_DIR}/boards/arm/common/stm32 stm32_common) +endif() diff --git a/boards/arm/stm32l4/common/Kconfig b/boards/arm/stm32l4/common/Kconfig new file mode 100644 index 00000000000..5c48f62a025 --- /dev/null +++ b/boards/arm/stm32l4/common/Kconfig @@ -0,0 +1,6 @@ +# +# For a description of the syntax of this configuration file, +# see the file kconfig-language.txt in the NuttX tools repository. +# + +source "boards/arm/common/stm32/Kconfig" diff --git a/boards/arm/stm32l4/nucleo-l452re/src/Makefile b/boards/arm/stm32l4/common/Makefile similarity index 63% copy from boards/arm/stm32l4/nucleo-l452re/src/Makefile copy to boards/arm/stm32l4/common/Makefile index 4c04979e48a..d876734dd1e 100644 --- a/boards/arm/stm32l4/nucleo-l452re/src/Makefile +++ b/boards/arm/stm32l4/common/Makefile @@ -1,5 +1,5 @@ -############################################################################ -# boards/arm/stm32l4/nucleo-l452re/src/Makefile +############################################################################# +# boards/arm/stm32l4/common/Makefile # # SPDX-License-Identifier: Apache-2.0 # @@ -18,28 +18,21 @@ # License for the specific language governing permissions and limitations # under the License. # -############################################################################ +############################################################################# include $(TOPDIR)/Make.defs -CSRCS = stm32_boot.c stm32_bringup.c stm32_spi.c +STM32_BOARD_COMMON_DIR := $(TOPDIR)$(DELIM)boards$(DELIM)arm$(DELIM)common$(DELIM)stm32 +STM32_COMMON_SRCDIR := $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)common$(DELIM)stm32 -ifeq ($(CONFIG_ARCH_LEDS),y) -CSRCS += stm32_autoleds.c -else -CSRCS += stm32_userleds.c -endif +include board/Make.defs +include $(STM32_BOARD_COMMON_DIR)$(DELIM)src$(DELIM)Make.defs -ifeq ($(CONFIG_ARCH_BUTTONS),y) -CSRCS += stm32_buttons.c -endif - -ifeq ($(CONFIG_ADC),y) -CSRCS += stm32_adc.c -endif - -ifeq ($(CONFIG_DAC),y) -CSRCS += stm32_dac.c -endif +DEPPATH += --dep-path board include $(TOPDIR)/boards/Board.mk + +ARCHSRCDIR = $(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src +BOARDDIR = $(ARCHSRCDIR)$(DELIM)board +CFLAGS += ${INCDIR_PREFIX}$(BOARDDIR)$(DELIM)include +CFLAGS += ${INCDIR_PREFIX}$(STM32_COMMON_SRCDIR) diff --git a/boards/arm/stm32l4/nucleo-l432kc/src/Makefile b/boards/arm/stm32l4/nucleo-l432kc/src/Make.defs similarity index 93% rename from boards/arm/stm32l4/nucleo-l432kc/src/Makefile rename to boards/arm/stm32l4/nucleo-l432kc/src/Make.defs index 6f1745c753a..2cccd3b3d3c 100644 --- a/boards/arm/stm32l4/nucleo-l432kc/src/Makefile +++ b/boards/arm/stm32l4/nucleo-l432kc/src/Make.defs @@ -100,4 +100,6 @@ CSRCS += stm32_netinit.c endif endif -include $(TOPDIR)/boards/Board.mk +DEPPATH += --dep-path board +VPATH += :board +CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)board diff --git a/boards/arm/stm32l4/nucleo-l452re/src/Makefile b/boards/arm/stm32l4/nucleo-l452re/src/Make.defs similarity index 90% rename from boards/arm/stm32l4/nucleo-l452re/src/Makefile rename to boards/arm/stm32l4/nucleo-l452re/src/Make.defs index 4c04979e48a..95d5c9ae297 100644 --- a/boards/arm/stm32l4/nucleo-l452re/src/Makefile +++ b/boards/arm/stm32l4/nucleo-l452re/src/Make.defs @@ -42,4 +42,6 @@ ifeq ($(CONFIG_DAC),y) CSRCS += stm32_dac.c endif -include $(TOPDIR)/boards/Board.mk +DEPPATH += --dep-path board +VPATH += :board +CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)board diff --git a/boards/arm/stm32l4/nucleo-l476rg/src/Makefile b/boards/arm/stm32l4/nucleo-l476rg/src/Make.defs similarity index 94% rename from boards/arm/stm32l4/nucleo-l476rg/src/Makefile rename to boards/arm/stm32l4/nucleo-l476rg/src/Make.defs index d51f9740937..5950a0e16c5 100644 --- a/boards/arm/stm32l4/nucleo-l476rg/src/Makefile +++ b/boards/arm/stm32l4/nucleo-l476rg/src/Make.defs @@ -117,4 +117,6 @@ CSRCS += stm32_netinit.c endif endif -include $(TOPDIR)/boards/Board.mk +DEPPATH += --dep-path board +VPATH += :board +CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)board diff --git a/boards/arm/stm32l4/nucleo-l496zg/src/Makefile b/boards/arm/stm32l4/nucleo-l496zg/src/Make.defs similarity index 92% rename from boards/arm/stm32l4/nucleo-l496zg/src/Makefile rename to boards/arm/stm32l4/nucleo-l496zg/src/Make.defs index 4516af4433c..af3cc615e19 100644 --- a/boards/arm/stm32l4/nucleo-l496zg/src/Makefile +++ b/boards/arm/stm32l4/nucleo-l496zg/src/Make.defs @@ -71,4 +71,6 @@ CSRCS += stm32_netinit.c endif endif -include $(TOPDIR)/boards/Board.mk +DEPPATH += --dep-path board +VPATH += :board +CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)board diff --git a/boards/arm/stm32l4/steval-stlcs01v1/src/Makefile b/boards/arm/stm32l4/steval-stlcs01v1/src/Make.defs similarity index 88% rename from boards/arm/stm32l4/steval-stlcs01v1/src/Makefile rename to boards/arm/stm32l4/steval-stlcs01v1/src/Make.defs index 80a41f0fa38..e67f020257e 100644 --- a/boards/arm/stm32l4/steval-stlcs01v1/src/Makefile +++ b/boards/arm/stm32l4/steval-stlcs01v1/src/Make.defs @@ -32,4 +32,6 @@ ifeq ($(CONFIG_STM32_OTGFS),y) CSRCS += stm32_usb.c endif -include $(TOPDIR)/boards/Board.mk +DEPPATH += --dep-path board +VPATH += :board +CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)board diff --git a/boards/arm/stm32l4/stm32l476-mdk/src/Makefile b/boards/arm/stm32l4/stm32l476-mdk/src/Make.defs similarity index 89% rename from boards/arm/stm32l4/stm32l476-mdk/src/Makefile rename to boards/arm/stm32l4/stm32l476-mdk/src/Make.defs index 66a39c74229..4c2a02f3f1b 100644 --- a/boards/arm/stm32l4/stm32l476-mdk/src/Makefile +++ b/boards/arm/stm32l4/stm32l476-mdk/src/Make.defs @@ -36,4 +36,6 @@ ifeq ($(CONFIG_ARCH_BUTTONS),y) CSRCS += stm32_buttons.c endif -include $(TOPDIR)/boards/Board.mk +DEPPATH += --dep-path board +VPATH += :board +CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)board diff --git a/boards/arm/stm32l4/stm32l476vg-disco/src/Makefile b/boards/arm/stm32l4/stm32l476vg-disco/src/Make.defs similarity index 92% rename from boards/arm/stm32l4/stm32l476vg-disco/src/Makefile rename to boards/arm/stm32l4/stm32l476vg-disco/src/Make.defs index aa94c8d033c..a2a0313ee24 100644 --- a/boards/arm/stm32l4/stm32l476vg-disco/src/Makefile +++ b/boards/arm/stm32l4/stm32l476vg-disco/src/Make.defs @@ -64,4 +64,6 @@ CSRCS += stm32_netinit.c endif endif -include $(TOPDIR)/boards/Board.mk +DEPPATH += --dep-path board +VPATH += :board +CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)board diff --git a/boards/arm/stm32l4/stm32l4r9ai-disco/src/Makefile b/boards/arm/stm32l4/stm32l4r9ai-disco/src/Make.defs similarity index 92% rename from boards/arm/stm32l4/stm32l4r9ai-disco/src/Makefile rename to boards/arm/stm32l4/stm32l4r9ai-disco/src/Make.defs index 377448e664a..fb0302f1b58 100644 --- a/boards/arm/stm32l4/stm32l4r9ai-disco/src/Makefile +++ b/boards/arm/stm32l4/stm32l4r9ai-disco/src/Make.defs @@ -77,4 +77,6 @@ CSRCS += stm32_netinit.c endif endif -include $(TOPDIR)/boards/Board.mk +DEPPATH += --dep-path board +VPATH += :board +CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)board
