From 5d43ddf0b06b018075133da37c9c2f33aa6c6f43 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Thu, 28 Nov 2019 23:39:30 -0800 Subject: [PATCH] Build prometheus with makefiles instead of batch scripts (#1020) * use makefiles instead of batch * add to ci * put batch files back, but minimum logic * default to release * debug level opt too --- .github/workflows/build-firmware.yaml | 10 +++++++++- .../prometheus/!compile-prometheus_405.bat | 8 +------- .../prometheus/!compile-prometheus_469.bat | 7 +------ .../config/boards/prometheus/f405/board.mk | 3 +++ .../config/boards/prometheus/f469/board.mk | 3 +++ .../{board.mk => prometheus-common.mk} | 20 +++++++++++++------ 6 files changed, 31 insertions(+), 20 deletions(-) create mode 100644 firmware/config/boards/prometheus/f405/board.mk create mode 100644 firmware/config/boards/prometheus/f469/board.mk rename firmware/config/boards/prometheus/{board.mk => prometheus-common.mk} (55%) diff --git a/.github/workflows/build-firmware.yaml b/.github/workflows/build-firmware.yaml index fc4f58dca2..65d110c3c2 100644 --- a/.github/workflows/build-firmware.yaml +++ b/.github/workflows/build-firmware.yaml @@ -12,7 +12,7 @@ jobs: matrix: # What boards should we build for? In the 'include' section below, # set up what each of these boards needs to build. - build-target: [frankenso, mre-f4, mre-f7] + build-target: [frankenso, mre-f4, mre-f7, prometheus-405, prometheus-469] build-type: [debug, release] include: @@ -29,6 +29,14 @@ jobs: efi-cpu: ARCH_STM32F7 efi-board: microrusefi + - build-target: prometheus-405 + efi-cpu: ARCH_STM32F4 + efi-board: prometheus/f405 + + - build-target: prometheus-469 + efi-cpu: ARCH_STM32F4 + efi-board: prometheus/f469 + # Debug vs. release configuration - build-type: debug extra-params: -DDUMMY diff --git a/firmware/config/boards/prometheus/!compile-prometheus_405.bat b/firmware/config/boards/prometheus/!compile-prometheus_405.bat index a2bb40c09a..cf60ed61d2 100644 --- a/firmware/config/boards/prometheus/!compile-prometheus_405.bat +++ b/firmware/config/boards/prometheus/!compile-prometheus_405.bat @@ -3,13 +3,7 @@ rem STM32F405 version of the firmware for https://rusefi.com/forum/viewtopic.php rem cd ../../.. -set PROJECT_BOARD=prometheus -set PROMETHEUS_BOARD=405 -set EXTRA_PARAMS=-DDUMMY -DSTM32F405xx -DEFI_ENABLE_ASSERTS=FALSE ^ - -DFIRMWARE_ID=\"prometheus405\" ^ - -DCH_DBG_ENABLE_TRACE=FALSE -DCH_DBG_ENABLE_ASSERTS=FALSE -DCH_DBG_ENABLE_STACK_CHECK=FALSE -DCH_DBG_FILL_THREADS=FALSE -DCH_DBG_THREADS_PROFILING=FALSE -set DEBUG_LEVEL_OPT="-O2" -set USE_BOOTLOADER=yes +set PROJECT_BOARD=prometheus/f405 call config/boards/common_make.bat diff --git a/firmware/config/boards/prometheus/!compile-prometheus_469.bat b/firmware/config/boards/prometheus/!compile-prometheus_469.bat index 6dd85fac4d..b5fb8b3e37 100644 --- a/firmware/config/boards/prometheus/!compile-prometheus_469.bat +++ b/firmware/config/boards/prometheus/!compile-prometheus_469.bat @@ -3,12 +3,7 @@ rem STM32F469 version of the firmware for https://rusefi.com/forum/viewtopic.php rem cd ../../.. -set PROJECT_BOARD=prometheus -set PROMETHEUS_BOARD=469 -set EXTRA_PARAMS=-DDUMMY -DSTM32F469xx -DEFI_ENABLE_ASSERTS=FALSE ^ - -DFIRMWARE_ID=\"prometeus469\" ^ - -DCH_DBG_ENABLE_TRACE=FALSE -DCH_DBG_ENABLE_ASSERTS=FALSE -DCH_DBG_ENABLE_STACK_CHECK=FALSE -DCH_DBG_FILL_THREADS=FALSE -DCH_DBG_THREADS_PROFILING=FALSE -set DEBUG_LEVEL_OPT="-O2" +set PROJECT_BOARD=prometheus/f469 set USE_BOOTLOADER=yes call config/boards/common_make.bat diff --git a/firmware/config/boards/prometheus/f405/board.mk b/firmware/config/boards/prometheus/f405/board.mk new file mode 100644 index 0000000000..8a4c92e35d --- /dev/null +++ b/firmware/config/boards/prometheus/f405/board.mk @@ -0,0 +1,3 @@ +PROMETHEUS_BOARD = 405 + +include $(PROJECT_DIR)/config/boards/prometheus/prometheus-common.mk \ No newline at end of file diff --git a/firmware/config/boards/prometheus/f469/board.mk b/firmware/config/boards/prometheus/f469/board.mk new file mode 100644 index 0000000000..6c2fe59e51 --- /dev/null +++ b/firmware/config/boards/prometheus/f469/board.mk @@ -0,0 +1,3 @@ +PROMETHEUS_BOARD = 469 + +include $(PROJECT_DIR)/config/boards/prometheus/prometheus-common.mk diff --git a/firmware/config/boards/prometheus/board.mk b/firmware/config/boards/prometheus/prometheus-common.mk similarity index 55% rename from firmware/config/boards/prometheus/board.mk rename to firmware/config/boards/prometheus/prometheus-common.mk index 8e59572dff..1923b42c38 100644 --- a/firmware/config/boards/prometheus/board.mk +++ b/firmware/config/boards/prometheus/prometheus-common.mk @@ -7,17 +7,25 @@ BOARDSRC_CPP = $(PROJECT_DIR)/config/boards/Prometheus/board_configuration.cpp # Required include directories BOARDINC = $(PROJECT_DIR)/config/boards/prometheus -# Override LD script -ifeq ($(USE_BOOTLOADER),yes) - # include Prometheus bootloader code - BOOTLOADERINC= $(PROJECT_DIR)/bootloader/prometheus/$(PROMETHEUS_BOARD) +# This board uses bootloader +USE_BOOTLOADER=yes + +# include Prometheus bootloader code +BOOTLOADERINC= $(PROJECT_DIR)/bootloader/prometheus/$(PROMETHEUS_BOARD) + +# 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 +endif +ifeq ($(DEBUG_LEVEL_OPT),) + DEBUG_LEVEL_OPT = -O2 endif ifeq ($(PROMETHEUS_BOARD),405) LDSCRIPT= $(PROJECT_DIR)/config/boards/prometheus/STM32F405xG.ld -DDEFS += -DDEFAULT_ENGINE_TYPE=PROMETHEUS_DEFAULTS -DSTM32F405xx +DDEFS += -DDEFAULT_ENGINE_TYPE=PROMETHEUS_DEFAULTS -DSTM32F405xx -DFIRMWARE_ID=\"prometeus405\" else # Override DEFAULT_ENGINE_TYPE LDSCRIPT= $(PROJECT_DIR)/config/boards/prometheus/STM32F469xI.ld -DDEFS += -DDEFAULT_ENGINE_TYPE=PROMETHEUS_DEFAULTS -DSTM32F469xx +DDEFS += -DDEFAULT_ENGINE_TYPE=PROMETHEUS_DEFAULTS -DSTM32F469xx -DFIRMWARE_ID=\"prometeus469\" endif