From 699ffc3271ceb313aa091a41cbf440154053e7e2 Mon Sep 17 00:00:00 2001 From: raiden00pl Date: Sun, 31 May 2026 09:34:14 +0200 Subject: [PATCH] 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 --- .../src/{Makefile => Make.defs} | 4 +- boards/arm/stm32l4/common/CMakeLists.txt | 25 ++++++++++++ boards/arm/stm32l4/common/Kconfig | 6 +++ boards/arm/stm32l4/common/Makefile | 38 +++++++++++++++++++ .../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 +- .../src/{Makefile => Make.defs} | 4 +- .../stm32l476-mdk/src/{Makefile => Make.defs} | 4 +- .../src/{Makefile => Make.defs} | 4 +- .../src/{Makefile => Make.defs} | 4 +- 12 files changed, 96 insertions(+), 9 deletions(-) rename boards/arm/stm32l4/b-l475e-iot01a/src/{Makefile => Make.defs} (89%) create mode 100644 boards/arm/stm32l4/common/CMakeLists.txt create mode 100644 boards/arm/stm32l4/common/Kconfig create mode 100644 boards/arm/stm32l4/common/Makefile rename boards/arm/stm32l4/nucleo-l432kc/src/{Makefile => Make.defs} (93%) rename boards/arm/stm32l4/nucleo-l452re/src/{Makefile => Make.defs} (90%) rename boards/arm/stm32l4/nucleo-l476rg/src/{Makefile => Make.defs} (94%) rename boards/arm/stm32l4/nucleo-l496zg/src/{Makefile => Make.defs} (92%) rename boards/arm/stm32l4/steval-stlcs01v1/src/{Makefile => Make.defs} (88%) rename boards/arm/stm32l4/stm32l476-mdk/src/{Makefile => Make.defs} (89%) rename boards/arm/stm32l4/stm32l476vg-disco/src/{Makefile => Make.defs} (92%) rename boards/arm/stm32l4/stm32l4r9ai-disco/src/{Makefile => Make.defs} (92%) 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/common/Makefile b/boards/arm/stm32l4/common/Makefile new file mode 100644 index 00000000000..d876734dd1e --- /dev/null +++ b/boards/arm/stm32l4/common/Makefile @@ -0,0 +1,38 @@ +############################################################################# +# boards/arm/stm32l4/common/Makefile +# +# 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. +# +############################################################################# + +include $(TOPDIR)/Make.defs + +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 + +include board/Make.defs +include $(STM32_BOARD_COMMON_DIR)$(DELIM)src$(DELIM)Make.defs + +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