From 8c5c46454fdcc43faf04d8c3dd41434f7fd0122e Mon Sep 17 00:00:00 2001 From: hathach Date: Wed, 13 Jan 2021 12:56:33 +0700 Subject: [PATCH] also build boards without family --- examples/make.mk | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/examples/make.mk b/examples/make.mk index d19dd7f09..60e5f2c06 100644 --- a/examples/make.mk +++ b/examples/make.mk @@ -2,6 +2,9 @@ # Common make definition for all examples # --------------------------------------- +# Build directory +BUILD = _build/build-$(BOARD) + # Handy check parameter function check_defined = \ $(strip $(foreach 1,$1, \ @@ -18,19 +21,29 @@ __check_defined = \ # $(error Invalid BOARD specified) #endif -BOARD_PATH = $(subst $(TOP)/,,$(wildcard $(TOP)/hw/bsp/*/boards/$(BOARD))) +# Board without family +BOARD_PATH := $(subst $(TOP)/,,$(wildcard $(TOP)/hw/bsp/$(BOARD))) +FAMILY := + +# Board within family +ifeq ($(BOARD_PATH),) + BOARD_PATH := $(subst $(TOP)/,,$(wildcard $(TOP)/hw/bsp/*/boards/$(BOARD))) + FAMILY := $(word 3, $(subst /, ,$(BOARD_PATH))) + FAMILY_PATH = hw/bsp/$(FAMILY) +endif + ifeq ($(BOARD_PATH),) $(error Invalid BOARD specified) endif -FAMILY = $(word 3, $(subst /, ,$(BOARD_PATH))) -FAMILY_PATH = hw/bsp/$(FAMILY) +ifeq ($(FAMILY),) + include $(TOP)/hw/bsp/$(BOARD)/board.mk +else + # Include Family and Board specific defs + include $(TOP)/$(FAMILY_PATH)/family.mk -# Build directory -BUILD = _build/build-$(BOARD) - -# Include Family and Board specific defs -include $(TOP)/$(FAMILY_PATH)/family.mk + SRC_C += $(subst $(TOP)/,,$(wildcard $(TOP)/$(FAMILY_PATH)/*.c)) +endif #-------------- Cross Compiler ------------ # Can be set by board, default to ARM GCC @@ -49,7 +62,6 @@ RM = rm # Include all source C in family & board folder SRC_C += hw/bsp/board.c -SRC_C += $(subst $(TOP)/,,$(wildcard $(TOP)/$(FAMILY_PATH)/*.c)) SRC_C += $(subst $(TOP)/,,$(wildcard $(TOP)/$(BOARD_PATH)/*.c)) # Compiler Flags