diff --git a/firmware/Makefile b/firmware/Makefile index ad2f0875ba..5c6451ba57 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -164,9 +164,8 @@ MAKEFLAGS += ${NUMJOBS} # Project, sources and paths # -BOARDS_DIR = $(PROJECT_DIR)/config/boards - -include $(PROJECT_DIR)/config/boards/$(PROJECT_BOARD)/board.mk +BOARDINC = $(BOARD_DIR) +include $(BOARD_DIR)/board.mk # Include various ChibiOS mk files # Licensing files. @@ -222,6 +221,7 @@ ifeq ($(USE_OPENBLT),yes) endif $(info PROJECT_BOARD: $(PROJECT_BOARD)) +$(info BOARD_DIR: $(BOARD_DIR)) $(info PROJECT_CPU: $(PROJECT_CPU)) $(info CPU_HWLAYER: $(CPU_HWLAYER)) $(info CONFDIR: $(CONFDIR)) @@ -378,10 +378,10 @@ ULIBS = -lm --specs=nano.specs -Wl,--sort-section=alignment include $(RULESFILE) openblt: - make -f $(PROJECT_DIR)/hw_layer/openblt/openblt.mk + make -f $(PROJECT_DIR)/hw_layer/openblt/openblt.mk BOARD_DIR=$(BOARD_DIR) PROJECT_BOARD=$(PROJECT_BOARD) PROJECT_CPU=$(PROJECT_CPU) openblt_clean: - make -f $(PROJECT_DIR)/hw_layer/openblt/openblt.mk clean + make -f $(PROJECT_DIR)/hw_layer/openblt/openblt.mk clean BOARD_DIR=$(BOARD_DIR) PROJECT_BOARD=$(PROJECT_BOARD) PROJECT_CPU=$(PROJECT_CPU) # Enable precompiled header include rusefi_pch.mk diff --git a/firmware/bootloader/src/Makefile b/firmware/bootloader/src/Makefile index ecef94ad86..0ab77ebcd6 100644 --- a/firmware/bootloader/src/Makefile +++ b/firmware/bootloader/src/Makefile @@ -160,7 +160,8 @@ include $(CHIBIOS)/os/various/cpp_wrappers/chcpp.mk # EX files (optional). include $(CHIBIOS)/os/hal/lib/streams/streams.mk -include $(CONFIG)/boards/$(PROJECT_BOARD)/board.mk +BOARDINC = $(BOARD_DIR) +include $(BOARD_DIR)/board.mk include $(PROJECT_DIR)/init/init.mk include $(PROJECT_DIR)/util/util.mk diff --git a/firmware/common.mk b/firmware/common.mk index aa61efc3aa..084ac27805 100644 --- a/firmware/common.mk +++ b/firmware/common.mk @@ -33,7 +33,7 @@ ALLINC += \ $(CONSOLE_INC) \ $(DEVELOPMENT_DIR) \ $(PROJECT_DIR)/config/engines \ - $(PROJECT_DIR)/config/boards/ \ + $(BOARDS_DIR) \ $(PROJECT_DIR)/hw_layer/algo \ $(PROJECT_DIR)/init \ $(PROJECT_DIR)/ext_algo \ diff --git a/firmware/config/boards/48way/board.mk b/firmware/config/boards/48way/board.mk index 197c460a66..6ed79b7f18 100755 --- a/firmware/config/boards/48way/board.mk +++ b/firmware/config/boards/48way/board.mk @@ -1,7 +1,5 @@ # List of all the board related files. -BOARDCPPSRC = $(PROJECT_DIR)/config/boards/48way/board_configuration.cpp - -BOARDINC = $(PROJECT_DIR)/config/boards/48way +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Override DEFAULT_ENGINE_TYPE DDEFS += -DSHORT_BOARD_NAME=48way diff --git a/firmware/config/boards/BB_V2/board.mk b/firmware/config/boards/BB_V2/board.mk index b73bae71a1..5fad4d988e 100644 --- a/firmware/config/boards/BB_V2/board.mk +++ b/firmware/config/boards/BB_V2/board.mk @@ -1,8 +1,6 @@ # List of all the board related files. -BOARDCPPSRC = $(PROJECT_DIR)/config/boards/BB_V2/board_configuration.cpp \ - $(PROJECT_DIR)/config/boards/proteus/adc_hack.cpp - -BOARDINC = $(PROJECT_DIR)/config/boards/BB_V2 +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp \ + $(BOARDS_DIR)/proteus/adc_hack.cpp # Override DEFAULT_ENGINE_TYPE DDEFS += -DSTM32F407xx diff --git a/firmware/config/boards/BB_V3/board.mk b/firmware/config/boards/BB_V3/board.mk index a5ba3379e2..885cd0d3fa 100644 --- a/firmware/config/boards/BB_V3/board.mk +++ b/firmware/config/boards/BB_V3/board.mk @@ -1,8 +1,6 @@ # List of all the board related files. -BOARDCPPSRC = $(PROJECT_DIR)/config/boards/BB_V3/board_configuration.cpp \ - $(PROJECT_DIR)/config/boards/proteus/adc_hack.cpp - -BOARDINC = $(PROJECT_DIR)/config/boards/BB_V3 +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp \ + $(BOARDS_DIR)/proteus/adc_hack.cpp # Override DEFAULT_ENGINE_TYPE DDEFS += -DSTM32F407xx diff --git a/firmware/config/boards/atlas/board.mk b/firmware/config/boards/atlas/board.mk index b183ac2d15..8242e5064d 100644 --- a/firmware/config/boards/atlas/board.mk +++ b/firmware/config/boards/atlas/board.mk @@ -1,7 +1,5 @@ # List of all the board related files. -BOARDCPPSRC = $(PROJECT_DIR)/config/boards/atlas/board_configuration.cpp - -BOARDINC = $(PROJECT_DIR)/config/boards/atlas +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp #DDEFS += -DLED_CRITICAL_ERROR_BRAIN_PIN=Gpio::E3 DDEFS += -DFIRMWARE_ID=\"atlas\" diff --git a/firmware/config/boards/common_make.sh b/firmware/config/boards/common_make.sh index 6c63bbc6fc..6092e62f49 100644 --- a/firmware/config/boards/common_make.sh +++ b/firmware/config/boards/common_make.sh @@ -1,8 +1,7 @@ #!/bin/bash -#exporting for OpenBlt Makefile -export PROJECT_BOARD=$1 -export PROJECT_CPU=$2 +PROJECT_BOARD=$1 +PROJECT_CPU=$2 # fail on error set -e @@ -17,7 +16,7 @@ mkdir -p .dep make -j$(nproc) -r PROJECT_BOARD=$PROJECT_BOARD PROJECT_CPU=$PROJECT_CPU [ -e build/rusefi.hex ] || { echo "FAILED to compile by $SCRIPT_NAME with $PROJECT_BOARD $DEBUG_LEVEL_OPT and $EXTRA_PARAMS"; exit 1; } if [ "$USE_OPENBLT" = "yes" ]; then - make openblt + make openblt PROJECT_BOARD=$PROJECT_BOARD PROJECT_CPU=$PROJECT_CPU [ -e build-openblt/openblt_$PROJECT_BOARD.hex ] || { echo "FAILED to compile OpenBLT by $SCRIPT_NAME with $PROJECT_BOARD"; exit 1; } fi diff --git a/firmware/config/boards/core8/board.mk b/firmware/config/boards/core8/board.mk index 167439771a..89196c55a8 100644 --- a/firmware/config/boards/core8/board.mk +++ b/firmware/config/boards/core8/board.mk @@ -1,7 +1,5 @@ # List of all the board related files. -BOARDCPPSRC = $(PROJECT_DIR)/config/boards/core8/board_configuration.cpp - -BOARDINC = $(PROJECT_DIR)/config/boards/core8 +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Override DEFAULT_ENGINE_TYPE DDEFS += -DSHORT_BOARD_NAME=core8 diff --git a/firmware/config/boards/coreECU/board.mk b/firmware/config/boards/coreECU/board.mk index 9eb838a6fb..885cd0d3fa 100644 --- a/firmware/config/boards/coreECU/board.mk +++ b/firmware/config/boards/coreECU/board.mk @@ -1,8 +1,6 @@ # List of all the board related files. -BOARDCPPSRC = $(PROJECT_DIR)/config/boards/coreECU/board_configuration.cpp \ - $(PROJECT_DIR)/config/boards/proteus/adc_hack.cpp - -BOARDINC = $(PROJECT_DIR)/config/boards/coreECU +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp \ + $(BOARDS_DIR)/proteus/adc_hack.cpp # Override DEFAULT_ENGINE_TYPE DDEFS += -DSTM32F407xx diff --git a/firmware/config/boards/f407-discovery/board.mk b/firmware/config/boards/f407-discovery/board.mk index eadd007ad7..98004cc263 100644 --- a/firmware/config/boards/f407-discovery/board.mk +++ b/firmware/config/boards/f407-discovery/board.mk @@ -1,5 +1,5 @@ # List of all the board related files. -BOARDCPPSRC = $(PROJECT_DIR)/config/boards/f407-discovery/board_extra.cpp +BOARDCPPSRC = $(BOARD_DIR)/board_extra.cpp # MCU defines DDEFS += -DSTM32F407xx diff --git a/firmware/config/boards/f429-208/board.mk b/firmware/config/boards/f429-208/board.mk index 294f62639b..4b6583f2ee 100644 --- a/firmware/config/boards/f429-208/board.mk +++ b/firmware/config/boards/f429-208/board.mk @@ -1,13 +1,9 @@ -BOARD_DIR = $(PROJECT_DIR)/config/boards/$(PROJECT_BOARD) - HALCONFDIR = $(BOARD_DIR) # List of all the board related files. BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Required include directories -BOARDINC = $(BOARD_DIR) - # STM32F429 has FSMC with SDRAM support DDEFS += -DFIRMWARE_ID=\"stm32f429\" IS_STM32F429 = yes diff --git a/firmware/config/boards/f429-discovery/board.mk b/firmware/config/boards/f429-discovery/board.mk index 2654be8f9c..bbf0c6262d 100644 --- a/firmware/config/boards/f429-discovery/board.mk +++ b/firmware/config/boards/f429-discovery/board.mk @@ -1,13 +1,9 @@ -BOARD_DIR = $(PROJECT_DIR)/config/boards/$(PROJECT_BOARD) - HALCONFDIR = $(BOARD_DIR) # List of all the board related files. BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Required include directories -BOARDINC = $(BOARD_DIR) - # STM32F429 has FSMC with SDRAM support DDEFS += -DFIRMWARE_ID=\"stm32f429\" IS_STM32F429 = yes diff --git a/firmware/config/boards/hellen/alphax-2chan/board.mk b/firmware/config/boards/hellen/alphax-2chan/board.mk index 0a0df6dfdf..82df74db9d 100644 --- a/firmware/config/boards/hellen/alphax-2chan/board.mk +++ b/firmware/config/boards/hellen/alphax-2chan/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/alphax-2chan/board_configuration.cpp -BOARDINC = $(BOARDS_DIR)/hellen/alphax-2chan - +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp DDEFS += -DEFI_MAIN_RELAY_CONTROL=TRUE # This board has trigger scope hardware! diff --git a/firmware/config/boards/hellen/alphax-4chan/board.mk b/firmware/config/boards/hellen/alphax-4chan/board.mk index 387daaf4a7..7f6ef999a5 100644 --- a/firmware/config/boards/hellen/alphax-4chan/board.mk +++ b/firmware/config/boards/hellen/alphax-4chan/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/alphax-4chan/board_configuration.cpp -BOARDINC = $(BOARDS_DIR)/hellen/alphax-4chan - +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp DDEFS += -DEFI_MAIN_RELAY_CONTROL=TRUE # This board has trigger scope hardware! diff --git a/firmware/config/boards/hellen/alphax-8chan/board.mk b/firmware/config/boards/hellen/alphax-8chan/board.mk index b6be07d165..856059cb2a 100644 --- a/firmware/config/boards/hellen/alphax-8chan/board.mk +++ b/firmware/config/boards/hellen/alphax-8chan/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/alphax-8chan/board_configuration.cpp -BOARDINC = $(BOARDS_DIR)/hellen/alphax-8chan - +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp DDEFS += -DEFI_MAIN_RELAY_CONTROL=TRUE # This board has trigger scope hardware! diff --git a/firmware/config/boards/hellen/harley81/board.mk b/firmware/config/boards/hellen/harley81/board.mk index 2ea472ef45..46206a7606 100644 --- a/firmware/config/boards/hellen/harley81/board.mk +++ b/firmware/config/boards/hellen/harley81/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/harley81/board_configuration.cpp -BOARDINC = $(BOARDS_DIR)/hellen/harley81 - +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp DDEFS += -DEFI_MAIN_RELAY_CONTROL=TRUE diff --git a/firmware/config/boards/hellen/hellen-gm-e67/board.mk b/firmware/config/boards/hellen/hellen-gm-e67/board.mk index 09029d83a3..0b82c351ea 100644 --- a/firmware/config/boards/hellen/hellen-gm-e67/board.mk +++ b/firmware/config/boards/hellen/hellen-gm-e67/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/hellen-gm-e67/board_configuration.cpp -BOARDINC = $(BOARDS_DIR)/hellen/hellen-gm-e67 - +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp DDEFS += -DEFI_MAIN_RELAY_CONTROL=TRUE diff --git a/firmware/config/boards/hellen/hellen-honda-k/board.mk b/firmware/config/boards/hellen/hellen-honda-k/board.mk index a2426ad993..e3faae8440 100644 --- a/firmware/config/boards/hellen/hellen-honda-k/board.mk +++ b/firmware/config/boards/hellen/hellen-honda-k/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/hellen-honda-k/board_configuration.cpp -BOARDINC = $(BOARDS_DIR)/hellen/hellen-honda-k - +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Set this if you want a default engine type other than normal ifeq ($(VAR_DEF_ENGINE_TYPE),) VAR_DEF_ENGINE_TYPE = -DDEFAULT_ENGINE_TYPE=HELLEN_154_HYUNDAI_COUPE_BK2 diff --git a/firmware/config/boards/hellen/hellen-nb1/board.mk b/firmware/config/boards/hellen/hellen-nb1/board.mk index 07e39ef548..f36fb6160e 100644 --- a/firmware/config/boards/hellen/hellen-nb1/board.mk +++ b/firmware/config/boards/hellen/hellen-nb1/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/hellen-nb1/board_configuration.cpp -BOARDINC = $(BOARDS_DIR)/hellen/hellen-nb1 - +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Set this if you want a default engine type other than normal hellen-nb1 ifeq ($(VAR_DEF_ENGINE_TYPE),) VAR_DEF_ENGINE_TYPE = -DDEFAULT_ENGINE_TYPE=HELLEN_NB1 diff --git a/firmware/config/boards/hellen/hellen121nissan/board.mk b/firmware/config/boards/hellen/hellen121nissan/board.mk index dbb16389b8..a8d183aa46 100644 --- a/firmware/config/boards/hellen/hellen121nissan/board.mk +++ b/firmware/config/boards/hellen/hellen121nissan/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/hellen121nissan/board_configuration.cpp -BOARDINC = $(BOARDS_DIR)/hellen/hellen121nissan - +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Set this if you want a default engine type other than normal hellen121nissan ifeq ($(VAR_DEF_ENGINE_TYPE),) VAR_DEF_ENGINE_TYPE = -DDEFAULT_ENGINE_TYPE=HELLEN_121_NISSAN_6_CYL diff --git a/firmware/config/boards/hellen/hellen121vag/board.mk b/firmware/config/boards/hellen/hellen121vag/board.mk index 17dbfa9df5..b5aeed76b6 100644 --- a/firmware/config/boards/hellen/hellen121vag/board.mk +++ b/firmware/config/boards/hellen/hellen121vag/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/hellen121vag/board_configuration.cpp -BOARDINC = $(BOARDS_DIR)/hellen/hellen121vag - +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Set this if you want a default engine type other than normal hellen121vag ifeq ($(VAR_DEF_ENGINE_TYPE),) VAR_DEF_ENGINE_TYPE = -DDEFAULT_ENGINE_TYPE=HELLEN_121_VAG_4_CYL diff --git a/firmware/config/boards/hellen/hellen128/board.mk b/firmware/config/boards/hellen/hellen128/board.mk index 744ba99807..a80302599b 100644 --- a/firmware/config/boards/hellen/hellen128/board.mk +++ b/firmware/config/boards/hellen/hellen128/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/hellen128/board_configuration.cpp - -BOARDINC = $(BOARDS_DIR)/hellen/hellen128 +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Set this if you want a default engine type other than normal hellen128 ifeq ($(VAR_DEF_ENGINE_TYPE),) diff --git a/firmware/config/boards/hellen/hellen154hyundai/board.mk b/firmware/config/boards/hellen/hellen154hyundai/board.mk index 2f3665226c..f3fe172672 100644 --- a/firmware/config/boards/hellen/hellen154hyundai/board.mk +++ b/firmware/config/boards/hellen/hellen154hyundai/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/hellen154hyundai/board_configuration.cpp -BOARDINC = $(BOARDS_DIR)/hellen/hellen154hyundai - +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Set this if you want a default engine type other than normal ifeq ($(VAR_DEF_ENGINE_TYPE),) VAR_DEF_ENGINE_TYPE = -DDEFAULT_ENGINE_TYPE=HELLEN_154_HYUNDAI_COUPE_BK2 diff --git a/firmware/config/boards/hellen/hellen64_miataNA6_94/board.mk b/firmware/config/boards/hellen/hellen64_miataNA6_94/board.mk index d0f8812836..d05bb085c1 100644 --- a/firmware/config/boards/hellen/hellen64_miataNA6_94/board.mk +++ b/firmware/config/boards/hellen/hellen64_miataNA6_94/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/hellen64_miataNA6_94/board_configuration.cpp -BOARDINC = $(BOARDS_DIR)/hellen/hellen64_miataNA6_94 - +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Set this if you want a default engine type other than normal hellen64_miataNA6_94 ifeq ($(VAR_DEF_ENGINE_TYPE),) VAR_DEF_ENGINE_TYPE = -DDEFAULT_ENGINE_TYPE=HELLEN_NA6 diff --git a/firmware/config/boards/hellen/hellen72/board.mk b/firmware/config/boards/hellen/hellen72/board.mk index 83e98277e1..0932819d85 100644 --- a/firmware/config/boards/hellen/hellen72/board.mk +++ b/firmware/config/boards/hellen/hellen72/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/hellen72/board_configuration.cpp - -BOARDINC = $(BOARDS_DIR)/hellen/hellen72 +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Set this if you want a default engine type other than normal Hellen72 ifeq ($(VAR_DEF_ENGINE_TYPE),) diff --git a/firmware/config/boards/hellen/hellen81/board.mk b/firmware/config/boards/hellen/hellen81/board.mk index 0d0522f757..d44b60fcbe 100644 --- a/firmware/config/boards/hellen/hellen81/board.mk +++ b/firmware/config/boards/hellen/hellen81/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/hellen81/board_configuration.cpp -BOARDINC = $(BOARDS_DIR)/hellen/hellen81 - +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp DDEFS += -DEFI_MAIN_RELAY_CONTROL=TRUE # Add them all together diff --git a/firmware/config/boards/hellen/hellen88bmw/board.mk b/firmware/config/boards/hellen/hellen88bmw/board.mk index 5e4c1705e1..9fd8a55681 100644 --- a/firmware/config/boards/hellen/hellen88bmw/board.mk +++ b/firmware/config/boards/hellen/hellen88bmw/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/hellen88bmw/board_configuration.cpp -BOARDINC = $(BOARDS_DIR)/hellen/hellen88bmw - +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Set this if you want a default engine type other than normal hellen88bmw ifeq ($(VAR_DEF_ENGINE_TYPE),) VAR_DEF_ENGINE_TYPE = -DDEFAULT_ENGINE_TYPE=HELLEN_88_BMW diff --git a/firmware/config/boards/hellen/hellenNA8_96/board.mk b/firmware/config/boards/hellen/hellenNA8_96/board.mk index 39b2a13014..33b943a15c 100644 --- a/firmware/config/boards/hellen/hellenNA8_96/board.mk +++ b/firmware/config/boards/hellen/hellenNA8_96/board.mk @@ -1,9 +1,7 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/hellen/hellenNA8_96/board_configuration.cpp -BOARDINC = $(BOARDS_DIR)/hellen/hellenNA8_96 - +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Set this if you want a default engine type other than normal hellen-nb1 ifeq ($(VAR_DEF_ENGINE_TYPE),) VAR_DEF_ENGINE_TYPE = -DDEFAULT_ENGINE_TYPE=HELLEN_NA8_96 diff --git a/firmware/config/boards/microrusefi/board.mk b/firmware/config/boards/microrusefi/board.mk index ed75288898..74812256b3 100644 --- a/firmware/config/boards/microrusefi/board.mk +++ b/firmware/config/boards/microrusefi/board.mk @@ -1,16 +1,9 @@ # Combine the related files for a specific platform and MCU. # Target ECU board design -BOARDCPPSRC = $(BOARDS_DIR)/microrusefi/board_configuration.cpp +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp -# Target processor details -ifeq ($(PROJECT_CPU),ARCH_STM32F4) - BOARDINC = $(BOARDS_DIR)/microrusefi - BOARDINC += $(PROJECT_DIR)/config/stm32f4ems # For board.h - BOARDINC += $(BOARDS_DIR)/microrusefi # For knock_config.h -else - BOARDINC += $(BOARDS_DIR)/microrusefi # For knock_config.h -endif +BOARDINC = $(BOARD_DIR) # see also openblt/board.mk STATUS_LED DDEFS += -DLED_CRITICAL_ERROR_BRAIN_PIN=Gpio::E3 diff --git a/firmware/config/boards/nucleo_f429/board.mk b/firmware/config/boards/nucleo_f429/board.mk index 2b79733fde..7a7b7da3b9 100644 --- a/firmware/config/boards/nucleo_f429/board.mk +++ b/firmware/config/boards/nucleo_f429/board.mk @@ -1,7 +1,5 @@ # List of all the board related files. -BOARDCPPSRC = $(PROJECT_DIR)/config/boards/nucleo_f429/board_configuration.cpp -BOARDINC = $(PROJECT_DIR)/config/boards/nucleo_f429 - +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp DDEFS += -DLED_CRITICAL_ERROR_BRAIN_PIN=Gpio::B14 # Enable ethernet diff --git a/firmware/config/boards/nucleo_f767/board.mk b/firmware/config/boards/nucleo_f767/board.mk index cea9ecbd18..9176fb1af1 100644 --- a/firmware/config/boards/nucleo_f767/board.mk +++ b/firmware/config/boards/nucleo_f767/board.mk @@ -1,7 +1,7 @@ # List of all the board related files. # F429 and F767 Nucleo are indeed the same board with a different chip fitted - so recycle the F429 config -BOARDCPPSRC = $(PROJECT_DIR)/config/boards/nucleo_f429/board_configuration.cpp +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # reducing flash consumption for EFI_ETHERNET to fit DDEFS += -DEFI_FILE_LOGGING=FALSE -DEFI_ALTERNATOR_CONTROL=FALSE -DEFI_LOGIC_ANALYZER=FALSE -DEFI_ENABLE_ASSERTS=FALSE diff --git a/firmware/config/boards/nucleo_h743/board.mk b/firmware/config/boards/nucleo_h743/board.mk index 4030a5d343..76cee7beb2 100644 --- a/firmware/config/boards/nucleo_h743/board.mk +++ b/firmware/config/boards/nucleo_h743/board.mk @@ -1,6 +1,6 @@ # List of all the board related files. -BOARDCPPSRC = $(PROJECT_DIR)/config/boards/nucleo_h743/board_configuration.cpp +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp DDEFS += -DLED_CRITICAL_ERROR_BRAIN_PIN=Gpio::B14 diff --git a/firmware/config/boards/prometheus/f405/board.mk b/firmware/config/boards/prometheus/f405/board.mk index 67260018fb..7c99ce9354 100644 --- a/firmware/config/boards/prometheus/f405/board.mk +++ b/firmware/config/boards/prometheus/f405/board.mk @@ -1,3 +1,3 @@ PROMETHEUS_BOARD = 405 -include $(PROJECT_DIR)/config/boards/prometheus/prometheus-common-board.mk +include $(BOARD_DIR)/../prometheus-common-board.mk diff --git a/firmware/config/boards/prometheus/f469/board.mk b/firmware/config/boards/prometheus/f469/board.mk index 65af501881..03950e89ad 100644 --- a/firmware/config/boards/prometheus/f469/board.mk +++ b/firmware/config/boards/prometheus/f469/board.mk @@ -1,3 +1,3 @@ PROMETHEUS_BOARD = 469 -include $(PROJECT_DIR)/config/boards/prometheus/prometheus-common-board.mk +include $(BOARD_DIR)/../prometheus-common-board.mk diff --git a/firmware/config/boards/prometheus/prometheus-common-board.mk b/firmware/config/boards/prometheus/prometheus-common-board.mk index 0ff618220a..835be86c6c 100644 --- a/firmware/config/boards/prometheus/prometheus-common-board.mk +++ b/firmware/config/boards/prometheus/prometheus-common-board.mk @@ -1,11 +1,11 @@ # List of all the board related files. -BOARDSRC = $(PROJECT_DIR)/config/boards/prometheus/board_extra.c +BOARDSRC = $(BOARD_DIR)/../board_extra.c -BOARDCPPSRC = $(PROJECT_DIR)/config/boards/Prometheus/board_configuration.cpp +BOARDCPPSRC = $(BOARD_DIR)/../board_configuration.cpp + +BOARDINC += $(BOARD_DIR)/.. # Required include directories -BOARDINC = $(PROJECT_DIR)/config/boards/prometheus - # Default to a release build - clear EXTRA_PARAMS from cmdline to build debug ifeq ($(EXTRA_PARAMS),) EXTRA_PARAMS = -DEFI_ENABLE_ASSERTS=FALSE -DCH_DBG_ENABLE_ASSERTS=FALSE -DCH_DBG_ENABLE_STACK_CHECK=FALSE -DCH_DBG_FILL_THREADS=FALSE -DCH_DBG_THREADS_PROFILING=FALSE diff --git a/firmware/config/boards/proteus/board.mk b/firmware/config/boards/proteus/board.mk index a8c77d13e1..0bd670b692 100644 --- a/firmware/config/boards/proteus/board.mk +++ b/firmware/config/boards/proteus/board.mk @@ -1,8 +1,6 @@ # List of all the board related files. -BOARDCPPSRC = $(PROJECT_DIR)/config/boards/proteus/board_configuration.cpp \ - $(PROJECT_DIR)/config/boards/proteus/adc_hack.cpp - -BOARDINC = $(PROJECT_DIR)/config/boards/proteus +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp \ + $(BOARD_DIR)/adc_hack.cpp ifeq ($(PROJECT_CPU),ARCH_STM32F4) IS_STM32F429 = yes diff --git a/firmware/config/boards/subaru_eg33/board.mk b/firmware/config/boards/subaru_eg33/board.mk index 0f93ce37a6..324ce55554 100644 --- a/firmware/config/boards/subaru_eg33/board.mk +++ b/firmware/config/boards/subaru_eg33/board.mk @@ -1,10 +1,7 @@ -BOARD_DIR = $(PROJECT_DIR)/config/boards/$(PROJECT_BOARD) - # List of all the board related files. BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Required include directories -BOARDINC = $(BOARD_DIR) BOARDINC += $(BOARD_DIR)/config/controllers/algo # Override LD script diff --git a/firmware/config/boards/subaru_eg33/config.mk b/firmware/config/boards/subaru_eg33/config.mk index 8f03483943..095ddcac51 100644 --- a/firmware/config/boards/subaru_eg33/config.mk +++ b/firmware/config/boards/subaru_eg33/config.mk @@ -1,2 +1,2 @@ #We have our own enums -GENERATED_ENUMS_DIR = $(PROJECT_DIR)/config/boards/$(PROJECT_BOARD)/config/controllers/algo +GENERATED_ENUMS_DIR = $(BOARD_DIR)/config/controllers/algo diff --git a/firmware/config/boards/tdg-pdm8/board.mk b/firmware/config/boards/tdg-pdm8/board.mk index 4b5d8019be..40e1c21871 100644 --- a/firmware/config/boards/tdg-pdm8/board.mk +++ b/firmware/config/boards/tdg-pdm8/board.mk @@ -1,5 +1,5 @@ -BOARDCPPSRC = $(PROJECT_DIR)/config/boards/tdg-pdm8/board_configuration.cpp +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp PROJECT_CPU = ARCH_STM32F4 diff --git a/firmware/hw_layer/openblt/openblt.mk b/firmware/hw_layer/openblt/openblt.mk index 8e4079061d..620ef6a13a 100644 --- a/firmware/hw_layer/openblt/openblt.mk +++ b/firmware/hw_layer/openblt/openblt.mk @@ -46,7 +46,7 @@ TOOL_PATH=$(TRGT) #|--------------------------------------------------------------------------------------| PROJECT_DIR=. OPENBLT_TRGT_DIR=$(PROJECT_DIR)/ext/openblt/Target -OPENBLT_BOARD_DIR=$(PROJECT_DIR)/config/boards/$(PROJECT_BOARD)/openblt +OPENBLT_BOARD_DIR=$(BOARD_DIR)/openblt ifeq ($(PROJECT_CPU),ARCH_STM32F4) OPENBLT_PORT_DIR=$(PROJECT_DIR)/hw_layer/ports/stm32/stm32f4/openblt else ifeq ($(PROJECT_CPU),ARCH_STM32F7) diff --git a/firmware/rusefi.mk b/firmware/rusefi.mk index ecfa678bc5..48cc8ca000 100644 --- a/firmware/rusefi.mk +++ b/firmware/rusefi.mk @@ -20,14 +20,21 @@ ifeq ($(PROJECT_BOARD),) PROJECT_BOARD = f407-discovery endif +BOARDS_DIR = $(PROJECT_DIR)/config/boards + +# allow passing a custom board dir, otherwise generate it based on the board name +ifeq ($(BOARD_DIR),) + BOARD_DIR = $(BOARDS_DIR)/$(PROJECT_BOARD) +endif + ifeq ($(PROJECT_CPU),) # many boards all the way to Proteus use this F4 default PROJECT_CPU = ARCH_STM32F4 endif --include $(PROJECT_DIR)/config/boards/$(PROJECT_BOARD)/config.mk +-include $(BOARD_DIR)/config.mk -PIN_NAMES_FILE=$(PROJECT_DIR)/config/boards/$(PROJECT_BOARD)/connectors/generated_ts_name_by_pin.cpp +PIN_NAMES_FILE=$(BOARD_DIR)/connectors/generated_ts_name_by_pin.cpp ifneq ("$(wildcard $(PIN_NAMES_FILE))","") $(info found $(PIN_NAMES_FILE) ) diff --git a/unit_tests/unit_test_rules.mk b/unit_tests/unit_test_rules.mk index 1888acae53..cc93f51730 100644 --- a/unit_tests/unit_test_rules.mk +++ b/unit_tests/unit_test_rules.mk @@ -14,6 +14,8 @@ PCHSUB = unit_tests include $(PROJECT_DIR)/rusefi_rules.mk +BOARDS_DIR = $(PROJECT_DIR)/config/boards + # User may want to pass in a forced value for SANITIZE ifeq ($(SANITIZE),) ifneq ($(OS),Windows_NT)