From 8e430a7d43ea6e32fa4c16cb45bc533704a8b996 Mon Sep 17 00:00:00 2001 From: Jim Mussared Date: Tue, 21 Feb 2023 16:24:17 +1100 Subject: [PATCH] rp2/Makefile: Allow specifying BOARD_DIR on make command line. This matches the behavior of the makefile ports but implemented for CMake, making it easy to specify custom board definitions. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared --- ports/rp2/Makefile | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/ports/rp2/Makefile b/ports/rp2/Makefile index 7057021bfccb..4f5b4728ecbc 100644 --- a/ports/rp2/Makefile +++ b/ports/rp2/Makefile @@ -2,13 +2,26 @@ # # This is a simple wrapper around cmake +# Select the board to build for: +ifdef BOARD_DIR +# Custom board path - remove trailing slash and get the final component of +# the path as the board name. +BOARD ?= $(notdir $(BOARD_DIR:/=)) +else +# If not given on the command line, then default to PICO. BOARD ?= PICO +BOARD_DIR ?= boards/$(BOARD) +endif + +ifeq ($(wildcard $(BOARD_DIR)/.),) +$(error Invalid BOARD specified: $(BOARD_DIR)) +endif BUILD ?= build-$(BOARD) $(VERBOSE)MAKESILENT = -s -CMAKE_ARGS = -DMICROPY_BOARD=$(BOARD) +CMAKE_ARGS = -DMICROPY_BOARD=$(BOARD) -DMICROPY_BOARD_DIR=$(abspath $(BOARD_DIR)) ifdef USER_C_MODULES CMAKE_ARGS += -DUSER_C_MODULES=${USER_C_MODULES}