build: Move BOARD_DIR definition to common place

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
Xiang Xiao
2020-05-21 03:41:57 +08:00
committed by Abdelatif Guettouche
parent 7e5b0f81e9
commit e83c1400b6
264 changed files with 666 additions and 689 deletions
+15
View File
@@ -107,6 +107,21 @@ else
DELIM ?= $(strip /)
endif
# Process board-specific directories
ifeq ($(CONFIG_ARCH_BOARD_CUSTOM),y)
ifeq ($(CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH),y)
BOARD_DIR ?= $(TOPDIR)$(DELIM)$(CONFIG_ARCH_BOARD_CUSTOM_DIR)$(DELIM)$(CONFIG_ARCH_BOARD)
else
BOARD_DIR ?= $(CONFIG_ARCH_BOARD_CUSTOM_DIR)$(DELIM)$(CONFIG_ARCH_BOARD)
endif
else
BOARD_DIR ?= $(TOPDIR)$(DELIM)boards$(DELIM)$(CONFIG_ARCH)$(DELIM)$(CONFIG_ARCH_CHIP)$(DELIM)$(CONFIG_ARCH_BOARD)
endif
BOARD_COMMON_DIR ?= $(wildcard $(BOARD_DIR)$(DELIM)..$(DELIM)common)
BOARD_DRIVERS_DIR ?= $(wildcard $(BOARD_DIR)$(DELIM)..$(DELIM)drivers)
# DIRLINK - Create a directory link in the portable way
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
+12 -24
View File
@@ -59,24 +59,12 @@ else
.PHONY: $(TOPDIR)/.version
endif
# Process architecture and board-specific directories
# Process architecture specific directories
ARCH_DIR = arch/$(CONFIG_ARCH)
ARCH_SRC = $(ARCH_DIR)/src
ARCH_INC = $(ARCH_DIR)/include
ifeq ($(CONFIG_ARCH_BOARD_CUSTOM),y)
ifeq ($(CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH),y)
BOARD_DIR = $(TOPDIR)$(DELIM)$(CONFIG_ARCH_BOARD_CUSTOM_DIR)
else
BOARD_DIR = $(CONFIG_ARCH_BOARD_CUSTOM_DIR)
endif
else
BOARD_DIR = $(TOPDIR)$(DELIM)boards$(DELIM)$(CONFIG_ARCH)$(DELIM)$(CONFIG_ARCH_CHIP)
endif
COMMON_DIR = $(if $(wildcard $(BOARD_DIR)/common/Makefile),y,)
# CONFIG_APPS_DIR can be over-ridden from the command line or in the .config file.
# The default value of CONFIG_APPS_DIR is ../apps. Ultimately, the application
# will be built if APPDIR is defined. APPDIR will be defined if a directory containing
@@ -287,31 +275,31 @@ include/arch: .config
# Link the boards/<arch>/<chip>/<board>/include directory to include/arch/board
include/arch/board: include/arch
@echo "LN: include/arch/board to $(BOARD_DIR)/$(CONFIG_ARCH_BOARD)/include"
$(Q) $(DIRLINK) $(BOARD_DIR)/$(CONFIG_ARCH_BOARD)/include include/arch/board
@echo "LN: include/arch/board to $(BOARD_DIR)/include"
$(Q) $(DIRLINK) $(BOARD_DIR)/include include/arch/board
ifeq ($(COMMON_DIR),y)
ifneq ($(BOARD_COMMON_DIR),)
# Link the boards/<arch>/<chip>/common dir to arch/<arch-name>/src/board
# Link the boards/<arch>/<chip>/<board>/src dir to arch/<arch-name>/src/board/board
$(ARCH_SRC)/board: .config
@echo "LN: $(ARCH_SRC)/board to $(BOARD_DIR)/common"
$(Q) $(DIRLINK) $(BOARD_DIR)/common $(ARCH_SRC)/board
@echo "LN: $(ARCH_SRC)/board/board to $(BOARD_DIR)/$(CONFIG_ARCH_BOARD)/src"
$(Q) $(DIRLINK) $(BOARD_DIR)/$(CONFIG_ARCH_BOARD)/src $(ARCH_SRC)/board/board
@echo "LN: $(ARCH_SRC)/board to $(BOARD_COMMON_DIR)"
$(Q) $(DIRLINK) $(BOARD_COMMON_DIR) $(ARCH_SRC)/board
@echo "LN: $(ARCH_SRC)/board/board to $(BOARD_DIR)/src"
$(Q) $(DIRLINK) $(BOARD_DIR)/src $(ARCH_SRC)/board/board
else
# Link the boards/<arch>/<chip>/<board>/src dir to arch/<arch-name>/src/board
$(ARCH_SRC)/board: .config
@echo "LN: $(ARCH_SRC)/board to $(BOARD_DIR)/$(CONFIG_ARCH_BOARD)/src"
$(Q) $(DIRLINK) $(BOARD_DIR)/$(CONFIG_ARCH_BOARD)/src $(ARCH_SRC)/board
@echo "LN: $(ARCH_SRC)/board to $(BOARD_DIR)/src"
$(Q) $(DIRLINK) $(BOARD_DIR)/src $(ARCH_SRC)/board
endif
# Link the boards/<arch>/<chip>/drivers dir to drivers/platform
drivers/platform: .config
@echo "LN: $(TOPDIR)/drivers/platform to $(BOARD_DIR)/drivers"
$(Q) $(DIRLINK) $(BOARD_DIR)/drivers $(TOPDIR)/drivers/platform
@echo "LN: $(TOPDIR)/drivers/platform to $(BOARD_DRIVERS_DIR)"
$(Q) $(DIRLINK) $(BOARD_DRIVERS_DIR) $(TOPDIR)/drivers/platform
# Link arch/<arch-name>/src/<chip-name> to arch/<arch-name>/src/chip
+11 -23
View File
@@ -53,18 +53,6 @@ ARCH_DIR = arch\$(CONFIG_ARCH)
ARCH_SRC = $(ARCH_DIR)\src
ARCH_INC = $(ARCH_DIR)\include
ifeq ($(CONFIG_ARCH_BOARD_CUSTOM),y)
ifeq ($(CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH),y)
BOARD_DIR = $(TOPDIR)$(DELIM)$(CONFIG_ARCH_BOARD_CUSTOM_DIR)
else
BOARD_DIR = $(CONFIG_ARCH_BOARD_CUSTOM_DIR)
endif
else
BOARD_DIR = $(TOPDIR)$(DELIM)boards$(DELIM)$(CONFIG_ARCH)$(DELIM)$(CONFIG_ARCH_CHIP)
endif
COMMON_DIR = $(if $(wildcard $(BOARD_DIR)$(DELIM)common$(DELIM)Makefile),y,)
# CONFIG_APPS_DIR can be over-ridden from the command line or in the .config file.
# The default value of CONFIG_APPS_DIR is ..\apps. Ultimately, the application
# will be built if APPDIR is defined. APPDIR will be defined if a directory containing
@@ -269,31 +257,31 @@ include\arch: .config
# Link the boards\<arch>\<chip>\<board>\include directory to include\arch\board
include\arch\board: include\arch
@echo LN: include\arch\board to $(BOARD_DIR)\$(CONFIG_ARCH_BOARD)\include
$(Q) $(DIRLINK) $(BOARD_DIR)\$(CONFIG_ARCH_BOARD)\include include\arch\board
@echo LN: include\arch\board to $(BOARD_DIR)\include
$(Q) $(DIRLINK) $(BOARD_DIR)\include include\arch\board
ifeq ($(COMMON_DIR),y)
ifneq ($(BOARD_COMMON_DIR),)
# Link the boards\<arch>\<chip>\common dir to arch\<arch-name>\src\board
# Link the boards\<arch>\<chip>\<board>\src dir to arch\<arch-name>\src\board\board
$(ARCH_SRC)\board: .config
@echo "LN: $(ARCH_SRC)\board to $(BOARD_DIR)\common"
$(Q) $(DIRLINK) $(BOARD_DIR)\common $(ARCH_SRC)\board
@echo "LN: $(ARCH_SRC)\board\board to $(BOARD_DIR)\$(CONFIG_ARCH_BOARD)\src"
$(Q) $(DIRLINK) $(BOARD_DIR)\$(CONFIG_ARCH_BOARD)\src $(ARCH_SRC)\board\board
@echo "LN: $(ARCH_SRC)\board to $(BOARD_COMMON_DIR)"
$(Q) $(DIRLINK) $(BOARD_COMMON_DIR) $(ARCH_SRC)\board
@echo "LN: $(ARCH_SRC)\board\board to $(BOARD_DIR)\src"
$(Q) $(DIRLINK) $(BOARD_DIR)\src $(ARCH_SRC)\board\board
else
# Link the boards\<arch>\<chip>\<board>\src dir to arch\<arch-name>\src\board
$(ARCH_SRC)\board: .config
@echo LN: $(ARCH_SRC)\board to $(BOARD_DIR)\$(CONFIG_ARCH_BOARD)\src
$(Q) $(DIRLINK) $(BOARD_DIR)\$(CONFIG_ARCH_BOARD)\src $(ARCH_SRC)\board
@echo LN: $(ARCH_SRC)\board to $(BOARD_DIR)\src
$(Q) $(DIRLINK) $(BOARD_DIR)\src $(ARCH_SRC)\board
endif
# Link the boards\<arch>\<chip>\drivers dir to drivers\platform
drivers\platform: .config
@echo LN: $(TOPDIR)\drivers\platform to $(BOARD_DIR)\drivers
$(Q) $(DIRLINK) $(BOARD_DIR)\drivers $(TOPDIR)\drivers\platform
@echo LN: $(TOPDIR)\drivers\platform to $(BOARD_DRIVERS_DIR)
$(Q) $(DIRLINK) $(BOARD_DRIVERS_DIR) $(TOPDIR)\drivers\platform
# Link arch\<arch-name>\src\<chip-name> to arch\<arch-name>\src\chip