From 2a70659a282df25b3304fac3ac813f53b700a2c0 Mon Sep 17 00:00:00 2001 From: rusefi Date: Sat, 25 Apr 2020 12:07:57 -0400 Subject: [PATCH] wow maybe build time magic?! by DronoGus --- firmware/Makefile | 15 +++++++++------ firmware/config/boards/clean_env_variables.bat | 2 +- .../config/boards/kinetis/!compile-kinetis.bat | 1 + firmware/config/boards/microrusefi/board.mk | 1 + firmware/config/boards/nucleo_f746/board.mk | 1 + firmware/config/boards/nucleo_f767/board.mk | 1 + firmware/config/boards/proteus/board.mk | 1 + 7 files changed, 15 insertions(+), 7 deletions(-) diff --git a/firmware/Makefile b/firmware/Makefile index 0787bafd72..d787a51806 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -80,12 +80,6 @@ ifeq ($(USE_VERBOSE_COMPILE),) USE_VERBOSE_COMPILE = no endif -# If enabled, this option makes the build process faster by not compiling -# modules not used in the current configuration. -ifeq ($(USE_SMART_BUILD),) - USE_SMART_BUILD = no -endif - ifeq ($(USE_BOOTLOADER),) USE_BOOTLOADER = no endif @@ -172,6 +166,15 @@ ifeq ($(BOOTLOADERINC),) BOOTLOADERINC= $(PROJECT_DIR)/bootloader/ endif +# If enabled, this option makes the build process faster by not compiling +# modules not used in the current configuration. +# without USE_SMART_BUILD all ChibiOS (including all drivers) are builded. And all drivers includes get included. +ifeq ($(USE_SMART_BUILD),) + USE_SMART_BUILD = yes +endif +ifeq ($(CONFDIR),) + CONFDIR = config/stm32f4ems +endif ifeq ($(USE_BOOTLOADER),yes) include $(PROJECT_DIR)/bootloader/bootloader.mk diff --git a/firmware/config/boards/clean_env_variables.bat b/firmware/config/boards/clean_env_variables.bat index 7148b891c1..9bb0de5b55 100644 --- a/firmware/config/boards/clean_env_variables.bat +++ b/firmware/config/boards/clean_env_variables.bat @@ -10,4 +10,4 @@ set EFI_FATAL_ERROR_PIN= set BUILDDIR= set DEBUG_LEVEL_OPT= set USE_FATFS= - +set USE_SMART_BUILD= diff --git a/firmware/config/boards/kinetis/!compile-kinetis.bat b/firmware/config/boards/kinetis/!compile-kinetis.bat index 5ff5d0d973..9bc4c22358 100644 --- a/firmware/config/boards/kinetis/!compile-kinetis.bat +++ b/firmware/config/boards/kinetis/!compile-kinetis.bat @@ -7,6 +7,7 @@ set EXTRA_PARAMS=-DDUMMY -DCPU_MKE16F512VLH16 -DCPU_MKE16F512VLH16_cm4 -D__USE_C rem set BUILDDIR=build_kinetis set BUILDDIR=build set PROJECT_BOARD=kinetis +set USE_SMART_BUILD=no set PROJECT_CPU=kinetis set DEBUG_LEVEL_OPT="-O2" set USE_FATFS=no diff --git a/firmware/config/boards/microrusefi/board.mk b/firmware/config/boards/microrusefi/board.mk index a14b2aa229..7860166622 100644 --- a/firmware/config/boards/microrusefi/board.mk +++ b/firmware/config/boards/microrusefi/board.mk @@ -14,6 +14,7 @@ ifeq ($(PROJECT_CPU),ARCH_STM32F4) else MCU_DEFS = -DSTM32F767xx BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_F767ZI/board.c + CONFDIR=config/stm32f7ems BOARDINC = $(BOARDS_DIR)/nucleo_f767 # For board.h BOARDINC += $(PROJECT_DIR)/config/stm32f7ems # efifeatures/halconf/chconf.h LDSCRIPT= $(BOARDS_DIR)/nucleo_f767/STM32F76xxI.ld diff --git a/firmware/config/boards/nucleo_f746/board.mk b/firmware/config/boards/nucleo_f746/board.mk index 44474a3f3f..6ddc7b8d3e 100644 --- a/firmware/config/boards/nucleo_f746/board.mk +++ b/firmware/config/boards/nucleo_f746/board.mk @@ -4,6 +4,7 @@ BOARDSRC_CPP = $(PROJECT_DIR)/config/boards/NUCLEO_F767/board_configuration.cpp # Required include directories BOARDINC = $(PROJECT_DIR)/config/boards/NUCLEO_F746 $(PROJECT_DIR)/config/stm32f7ems +CONFDIR=config/stm32f7ems LDSCRIPT= $(PROJECT_DIR)/config/boards/NUCLEO_F746/STM32F746xG.ld diff --git a/firmware/config/boards/nucleo_f767/board.mk b/firmware/config/boards/nucleo_f767/board.mk index c1545539ce..497db3b864 100644 --- a/firmware/config/boards/nucleo_f767/board.mk +++ b/firmware/config/boards/nucleo_f767/board.mk @@ -4,6 +4,7 @@ BOARDSRC_CPP = $(PROJECT_DIR)/config/boards/nucleo_f767/board_configuration.cpp # Required include directories BOARDINC = $(PROJECT_DIR)/config/boards/nucleo_f767 $(PROJECT_DIR)/config/stm32f7ems +CONFDIR=config/stm32f7ems LDSCRIPT= $(PROJECT_DIR)/config/boards/nucleo_f767/STM32F76xxI.ld diff --git a/firmware/config/boards/proteus/board.mk b/firmware/config/boards/proteus/board.mk index f70064edf5..4c657cb8a7 100644 --- a/firmware/config/boards/proteus/board.mk +++ b/firmware/config/boards/proteus/board.mk @@ -17,6 +17,7 @@ else BOARDINC = $(BOARDS_DIR)/nucleo_f767 # For board.h BOARDINC += $(PROJECT_DIR)/config/stm32f7ems # efifeatures/halconf/chconf.h LDSCRIPT= $(BOARDS_DIR)/nucleo_f767/STM32F76xxI.ld + CONFDIR=config/stm32f4ems endif