Simplify Makefile, unify board.mk files (#2229)

* Proper way to add lis302 driver

* Proper way to add license directory to includes

* Makefile: simplify

All ChibiOS stuff is accumulated in ALLCSRC, ALLINC and so on.

* board.mk: append sources and includes to ALLSRC, ALLCPPSRC, ALLINC

* Cypress: fix CANv2 includence into build
This commit is contained in:
Andrey G 2021-01-17 17:32:06 +03:00 committed by GitHub
parent 6a1b9db952
commit baea67eccf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 144 additions and 104 deletions

View File

@ -153,6 +153,9 @@ ifeq ($(CONFDIR),)
CONFDIR = $(PROJECT_DIR)/config/stm32f4ems
endif
# Include various ChibiOS mk files
# Licensing files.
include $(CHIBIOS)/os/license/license.mk
# Startup files.
include $(CPU_STARTUP_DIR)
# HAL-OSAL files (optional).
@ -162,12 +165,16 @@ include $(CHIBIOS)/os/hal/osal/rt/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
# EX files (optional).
include $(CHIBIOS)/os/ex/ST/lis302dl.mk
include $(CHIBIOS)/os/hal/lib/streams/streams.mk
include $(CHIBIOS)/os/various/cpp_wrappers/chcpp.mk
ifeq ($(USE_FATFS),yes)
include $(CHIBIOS)/os/various/fatfs_bindings/fatfs.mk
endif
include $(CHIBIOS)/os/various/cpp_wrappers/chcpp.mk
#Now include RusEFI mk files
include console/binary/tunerstudio.mk
ifeq ($(USE_FATFS),yes)
include $(PROJECT_DIR)/ext/fatfs.mk
@ -200,25 +207,17 @@ endif
# C sources that can be compiled in ARM or THUMB mode depending on the global
# setting.
CSRC = $(STARTUPSRC) \
$(KERNSRC) \
$(PORTSRC) \
$(OSALSRC) \
$(HALSRC) \
$(HALSRC_CONTRIB) \
$(PLATFORMSRC) \
$(PLATFORMSRC_CONTRIB) \
$(BOARDSRC) \
$(BOOTLOADERSRC) \
$(CHIBIOS)/os/ex/ST/lis302dl.c \
CSRC = $(ALLCSRC) \
$(CHIBIOS)/os/various/syscalls.c \
$(CHIBIOS)/os/hal/lib/streams/memstreams.c \
$(CHIBIOS)/os/hal/lib/streams/chprintf.c \
$(TRIGGER_SRC) \
$(TRIGGER_DECODERS_SRC) \
$(DEV_SRC) \
$(BOOTLOADERSRC) \
${HW_MASS_STORAGE_SRC_C} \
$(UTILSRC) \
$(SYSTEMSRC) \
$(ENGINES_SRC) \
$(CONSOLESRC) \
$(DEV_SRC) \
$(HW_LAYER_EMS) \
$(HW_LAYER_DRIVERS_CORE) \
$(HW_LAYER_DRIVERS) \
@ -226,28 +225,27 @@ CSRC = $(STARTUPSRC) \
$(CONTROLLERS_ALGO_SRC) \
$(CONTROLLERS_CORE_SRC) \
$(CONTROLLERS_SENSORS_SRC) \
$(FATFSSRC) \
$(SYSTEMSRC) \
main_hardfault.c
# C++ sources that can be compiled in ARM or THUMB mode depending on the global
# setting.
CPPSRC = $(CHCPPSRC) \
CPPSRC = $(ALLCPPSRC) \
$(TRIGGER_SRC_CPP) \
$(TRIGGER_DECODERS_SRC_CPP) \
$(DEV_SRC_CPP) \
$(CONTROLLERS_ALGO_SRC_CPP) \
$(UTILSRC_CPP) \
$(SYSTEMSRC_CPP) \
$(BOARDSRC_CPP) \
$(ENGINES_SRC_CPP) \
$(HW_LAYER_EMS_CPP) \
$(HW_LAYER_DRIVERS_CORE_CPP) \
$(HW_LAYER_DRIVERS_CPP) \
$(HW_SENSORS_SRC) \
$(TUNERSTUDIO_SRC_CPP) \
$(CONSOLE_SRC_CPP) \
$(CONTROLLERS_SENSORS_SRC_CPP) \
$(CONTROLLERS_SRC_CPP) \
$(UTILSRC_CPP) \
$(CONTROLLERS_CORE_SRC_CPP) \
$(CONTROLLERS_MATH_SRC_CPP) \
$(INIT_SRC_CPP) \
@ -275,33 +273,15 @@ TCSRC =
TCPPSRC =
# List ASM source files here
# List ASM source files here
ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM) \
ASMXSRC = $(ALLXASMSRC) \
$(RUSEFIASM)
ifeq ($(CONFIGPATH),)
CONFIGPATH=config/stm32f4ems
endif
INCDIR = $(CHIBIOS)/os/license \
$(PORTINC) \
$(OSALINC) \
$(KERNINC) \
INCDIR = $(ALLINC) \
$(TESTINC) \
$(STARTUPINC) \
$(HALINC) \
$(HALINC_CONTRIB) \
$(PLATFORMINC) \
$(PLATFORMINC_CONTRIB) \
$(BOARDINC) \
$(BOOTLOADERINC) \
$(CHCPPINC) \
$(CHIBIOS)/os/hal/lib/streams \
$(CHIBIOS)/os/various \
$(CHIBIOS)/os/ex/ST \
$(CHIBIOS)/os/hal/lib/peripherals/sensors \
$(CONFIGPATH) \
$(CONFDIR) \
config/engines \
config \
ext \

View File

@ -1,9 +1,9 @@
ifeq ($(USE_SMART_BUILD),yes)
ifneq ($(findstring HAL_USE_CAN TRUE,$(HALCONF)),)
PLATFORMSRC += ${CYPRESS_CONTRIB}/os/hal/ports/Cypress/LLD/CANv2/hal_can_lld.c
PLATFORMSRC_CONTRIB += ${CYPRESS_CONTRIB}/os/hal/ports/Cypress/LLD/CANv2/hal_can_lld.c
endif
else
PLATFORMSRC += ${CYPRESS_CONTRIB}/os/hal/ports/Cypress/LLD/CANv2/hal_can_lld.c
PLATFORMSRC_CONTRIB += ${CYPRESS_CONTRIB}/os/hal/ports/Cypress/LLD/CANv2/hal_can_lld.c
endif
PLATFORMINC += ${CYPRESS_CONTRIB}/os/hal/ports/Cypress/LLD/CANv2
PLATFORMINC_CONTRIB += ${CYPRESS_CONTRIB}/os/hal/ports/Cypress/LLD/CANv2

View File

@ -9,7 +9,7 @@ PDL_DIR = $(CYPRESS_CONTRIB)/os/hal/ports/Cypress/PDL
BOARDSRC = $(BOARD_DIR)/board.c
BOARDSRC_CPP = $(BOARD_DIR)/board_configuration.cpp
BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp
# Required include directories
BOARDINC = $(BOARD_DIR)
@ -17,7 +17,7 @@ BOARDINC += $(BOARD_DIR)/config/controllers/algo
BOARDINC += $(PDL_DIR)/driver $(PDL_DIR)/driver/gpio $(PDL_DIR)/driver/usb $(PDL_DIR)/driver/mfs $(PDL_DIR)/midware/usb/device
BOARDSRC_CPP += $(CONTROLLERS_ALGO_AUTO_GENERATED_ENUMS)
BOARDCPPSRC += $(CONTROLLERS_ALGO_AUTO_GENERATED_ENUMS)
# Define linker script file here
LDSCRIPT= $(STARTUPLD)/cypress_S6E2CxAH.ld
@ -25,3 +25,7 @@ LDSCRIPT= $(STARTUPLD)/cypress_S6E2CxAH.ld
#PLATFORMSRC += $(PLATFORMSRC_CONTRIB)
#PLATFORMINC += $(PLATFORMINC_CONTRIB)
# Shared variables
ALLCSRC += $(BOARDSRC)
ALLCPPSRC += $(BOARDCPPSRC)
ALLINC += $(BOARDINC)

View File

@ -1,7 +1,7 @@
# Combine the related files for a specific platform and MCU.
# Target ECU board design
BOARDSRC_CPP = $(BOARDS_DIR)/hellen/hellen72/board_configuration.cpp
BOARDCPPSRC = $(BOARDS_DIR)/hellen/hellen72/board_configuration.cpp
BOARDINC = $(BOARDS_DIR)/hellen/hellen72
# Target processor details
@ -40,3 +40,8 @@ DDEFS += $(MCU_DEFS) -DEFI_USE_OSC=TRUE -DFIRMWARE_ID=\"hellen72\" $(DEFAULT_ENG
# We are running on Hellen-One hardware!
DDEFS += -DHW_HELLEN=1
# Shared variables
ALLCSRC += $(BOARDSRC)
ALLCPPSRC += $(BOARDCPPSRC)
ALLINC += $(BOARDINC)

View File

@ -3,15 +3,20 @@
BOARD_DIR = $(PROJECT_DIR)/config/boards/$(PROJECT_BOARD)
BOARDSRC = $(BOARD_DIR)/board.c
BOARDSRC_CPP = $(BOARD_DIR)/board_configuration.cpp
BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp
# Required include directories
BOARDINC = $(BOARD_DIR)
BOARDINC += $(BOARD_DIR)/config/controllers/algo
BOARDSRC_CPP += $(CONTROLLERS_ALGO_AUTO_GENERATED_ENUMS)
BOARDCPPSRC += $(CONTROLLERS_ALGO_AUTO_GENERATED_ENUMS)
# Define linker script file here
LDSCRIPT = $(STARTUPLD)/MKE1xF512.ld
CONFDIR = $(BOARD_DIR)
# Shared variables
ALLCSRC += $(BOARDSRC)
ALLCPPSRC += $(BOARDCPPSRC)
ALLINC += $(BOARDINC)

View File

@ -1,6 +1,6 @@
# List of all the board related files.
BOARDSRC = $(PROJECT_DIR)/config/boards/nucleo_f767/board.c
BOARDSRC_CPP = $(PROJECT_DIR)/config/boards/me7_pnp/board_configuration.cpp
BOARDCPPSRC = $(PROJECT_DIR)/config/boards/me7_pnp/board_configuration.cpp
# Required include directories
BOARDINC = $(PROJECT_DIR)/config/boards/NUCLEO_F767 $(PROJECT_DIR)/config/stm32f7ems
@ -11,3 +11,8 @@ LDSCRIPT= $(PROJECT_DIR)/config/boards/nucleo_f767/STM32F76xxI.ld
# Override DEFAULT_ENGINE_TYPE
DDEFS += -DDEFAULT_ENGINE_TYPE=VAG_18_TURBO -DSTM32F767xx
# Shared variables
ALLCSRC += $(BOARDSRC)
ALLCPPSRC += $(BOARDCPPSRC)
ALLINC += $(BOARDINC)

View File

@ -1,7 +1,7 @@
# Combine the related files for a specific platform and MCU.
# Target ECU board design
BOARDSRC_CPP = $(BOARDS_DIR)/microrusefi/board_configuration.cpp
BOARDCPPSRC = $(BOARDS_DIR)/microrusefi/board_configuration.cpp
# Target processor details
ifeq ($(PROJECT_CPU),ARCH_STM32F4)
@ -42,3 +42,8 @@ DDEFS += $(MCU_DEFS) -DEFI_USE_OSC=TRUE -DFIRMWARE_ID=\"microRusEFI\" $(DEFAULT_
# We are running on microRusEFI hardware!
DDEFS += -DHW_MICRO_RUSEFI=1
# Shared variables
ALLCSRC += $(BOARDSRC)
ALLCPPSRC += $(BOARDCPPSRC)
ALLINC += $(BOARDINC)

View File

@ -1,6 +1,6 @@
# List of all the board related files.
BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_F746ZG/board.c
BOARDSRC_CPP = $(PROJECT_DIR)/config/boards/nucleo_f767/board_configuration.cpp
BOARDCPPSRC = $(PROJECT_DIR)/config/boards/nucleo_f767/board_configuration.cpp
# Required include directories
BOARDINC = $(PROJECT_DIR)/config/boards/nucleo_f746 $(PROJECT_DIR)/config/stm32f7ems
@ -10,3 +10,8 @@ LDSCRIPT= $(PROJECT_DIR)/config/boards/nucleo_f746/STM32F746xG.ld
# Override DEFAULT_ENGINE_TYPE
DDEFS += -DDEFAULT_ENGINE_TYPE=DEFAULT_FRANKENSO -DSTM32F746xx
# Shared variables
ALLCSRC += $(BOARDSRC)
ALLCPPSRC += $(BOARDCPPSRC)
ALLINC += $(BOARDINC)

View File

@ -1,6 +1,6 @@
# List of all the board related files.
BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_F767ZI/board.c
BOARDSRC_CPP = $(PROJECT_DIR)/config/boards/nucleo_f767/board_configuration.cpp
BOARDCPPSRC = $(PROJECT_DIR)/config/boards/nucleo_f767/board_configuration.cpp
# Required include directories
BOARDINC = $(PROJECT_DIR)/config/boards/nucleo_f767 $(PROJECT_DIR)/config/stm32f7ems
@ -10,3 +10,8 @@ LDSCRIPT= $(PROJECT_DIR)/config/boards/nucleo_f767/STM32F76xxI.ld
# Override DEFAULT_ENGINE_TYPE
DDEFS += -DDEFAULT_ENGINE_TYPE=MINIMAL_PINS -DSTM32F767xx
# Shared variables
ALLCSRC += $(BOARDSRC)
ALLCPPSRC += $(BOARDCPPSRC)
ALLINC += $(BOARDINC)

View File

@ -6,4 +6,5 @@ BOARDINC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_H743ZI
# Shared variables
ALLCSRC += $(BOARDSRC)
ALLCPPSRC += $(BOARDCPPSRC)
ALLINC += $(BOARDINC)

View File

@ -2,7 +2,7 @@
BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_STM32F469I_DISCOVERY/board.c \
$(PROJECT_DIR)/config/boards/prometheus/board_extra.c
BOARDSRC_CPP = $(PROJECT_DIR)/config/boards/Prometheus/board_configuration.cpp
BOARDCPPSRC = $(PROJECT_DIR)/config/boards/Prometheus/board_configuration.cpp
# Required include directories
BOARDINC = $(PROJECT_DIR)/config/boards/prometheus
@ -29,3 +29,8 @@ else
LDSCRIPT = $(PROJECT_DIR)/config/boards/prometheus/STM32F469xI.ld
DDEFS += -DDEFAULT_ENGINE_TYPE=PROMETHEUS_DEFAULTS -DSTM32F469xx -DFIRMWARE_ID=\"prometeus469\"
endif
# Shared variables
ALLCSRC += $(BOARDSRC)
ALLCPPSRC += $(BOARDCPPSRC)
ALLINC += $(BOARDINC)

View File

@ -1,6 +1,6 @@
# List of all the board related files.
BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_F767ZI/board.c
BOARDSRC_CPP = $(PROJECT_DIR)/config/boards/proteus/board_configuration.cpp \
BOARDCPPSRC = $(PROJECT_DIR)/config/boards/proteus/board_configuration.cpp \
$(PROJECT_DIR)/config/boards/proteus/adc_hack.cpp
BOARDINC = $(PROJECT_DIR)/config/boards/proteus
@ -40,3 +40,8 @@ DDEFS += -DHW_PROTEUS=1
ifeq ($(PROTEUS_LEGACY),TRUE)
DDEFS += -DUSE_ADC3_VBATT_HACK
endif
# Shared variables
ALLCSRC += $(BOARDSRC)
ALLCPPSRC += $(BOARDCPPSRC)
ALLINC += $(BOARDINC)

View File

@ -1,7 +1,7 @@
# Combine the related files for a specific platform and MCU.
# Target ECU board design
BOARDSRC_CPP = $(BOARDS_DIR)/skeleton/board_configuration.cpp
BOARDCPPSRC = $(BOARDS_DIR)/skeleton/board_configuration.cpp
# Target processor details
ifeq ($(PROJECT_CPU),ARCH_STM32F4)
@ -26,3 +26,8 @@ endif
# Add them all together
DDEFS += $(MCU_DEFS) -DEFI_USE_OSC=TRUE -DLED_CRITICAL_ERROR_BRAIN_PIN=GPIOE_3 -DFIRMWARE_ID=\"skeleton\" $(DEFAULT_ENGINE_TYPE)
# Shared variables
ALLCSRC += $(BOARDSRC)
ALLCPPSRC += $(BOARDCPPSRC)
ALLINC += $(BOARDINC)

View File

@ -1,7 +1,7 @@
# List of all the board related files.
BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY/board.c \
$(PROJECT_DIR)/config/boards/st_stm32f4/board_extra.c
BOARDSRC_CPP =
BOARDCPPSRC =
# Required include directories
BOARDINC = $(PROJECT_DIR)/config/boards/st_stm32f4
@ -11,3 +11,8 @@ DDEFS += -DSTM32F407xx
# We are running on Frankenso hardware!
DDEFS += -DHW_FRANKENSO=1
# Shared variables
ALLCSRC += $(BOARDSRC)
ALLCPPSRC += $(BOARDCPPSRC)
ALLINC += $(BOARDINC)

View File

@ -1,3 +1,4 @@
TRIGGER_DECODERS_SRC =
TRIGGER_DECODERS_SRC_CPP = \
$(CONTROLLERS_DIR)/trigger/decoders/trigger_mazda.cpp \
@ -17,6 +18,8 @@ TRIGGER_DECODERS_SRC_CPP = \
$(CONTROLLERS_DIR)/trigger/decoders/trigger_misc.cpp \
$(CONTROLLERS_DIR)/trigger/decoders/trigger_universal.cpp
TRIGGER_SRC =
TRIGGER_SRC_CPP = \
$(CONTROLLERS_DIR)/trigger/trigger_emulator_algo.cpp \
$(CONTROLLERS_DIR)/trigger/trigger_central.cpp

View File

@ -9,6 +9,8 @@ HW_LAYER_DRIVERS_INC = \
HW_LAYER_DRIVERS_CORE = \
$(DRIVERS_DIR)/gpio/core.c \
HW_LAYER_DRIVERS_CORE_CPP =
HW_LAYER_DRIVERS = \
$(DRIVERS_DIR)/gpio/tle6240.c \
$(DRIVERS_DIR)/gpio/tle8888.c \