Cleanup make includes and formatting rules (#1860)

* Draft cleanup of the folder definition mess

* Move old startup

* Fixup! broken hacky includes

* Update Makefile

* Update Makefile

* Update Makefile

* Bulk format

* Who knew, header guards are a wise idea

* Squash some sizing warnings

* Drop broken usb stack

* Fix BLE headers to be sensible

* Cleaning up proper c styling

* We have newer clang, it does bracketing now

* Run clang-format brackets

* We can drop the old messy bracket-checker with newer clang format

* WiP formatter

* Align grids of scripts by right side

Massively easier to read in nearly all cases

* Excempt the table for compression from formatter
This commit is contained in:
Ben V. Brown
2023-12-27 09:23:12 +11:00
committed by GitHub
parent 849d1f7d40
commit ec5f07ec0c
248 changed files with 58306 additions and 70269 deletions

View File

@@ -55,149 +55,25 @@ HOST_OUTPUT_DIR=Objects/host
DEVICE_DFU_ADDRESS=0x08000000
DEVICE_DFU_VID_PID=0x28E9:0x0189
# Enumerate all of the include directories (HAL source dirs are used for clang-format only)
APP_INC_DIR=./Core/Inc
BRIEFLZ_INC_DIR=./Core/brieflz
MINIWARE_INC_CMSIS_DEVICE=./Core/BSP/Miniware/Vendor/CMSIS/Device/ST/STM32F1xx/Include
MINIWARE_CMSIS_CORE_INC_DIR=./Core/BSP/Miniware/Vendor/CMSIS/Include
MINIWARE_HAL_SRC_DIR=./Core/BSP/Miniware/Vendor/STM32F1xx_HAL_Driver
MINIWARE_HAL_INC_DIR=./Core/BSP/Miniware/Vendor/STM32F1xx_HAL_Driver/Inc
MINIWARE_HAL_LEGACY_INC_DIR=./Core/BSP/Miniware/Vendor/STM32F1xx_HAL_Driver/Inc/Legacy
MINIWARE_STARTUP_DIR=./Startup
MINIWARE_INC_DIR=./Core/BSP/Miniware
MINIWARE_LD_FILE=./Core/BSP/Miniware/stm32f103.ld
S60_INC_CMSIS_DEVICE=./Core/BSP/Sequre_S60/Vendor/CMSIS/Device/ST/STM32F1xx/Include
S60_CMSIS_CORE_INC_DIR=./Core/BSP/Sequre_S60/Vendor/CMSIS/Include
S60_HAL_SRC_DIR=./Core/BSP/Sequre_S60/Vendor/STM32F1xx_HAL_Driver
S60_HAL_INC_DIR=./Core/BSP/Sequre_S60/Vendor/STM32F1xx_HAL_Driver/Inc
S60_HAL_LEGACY_INC_DIR=./Core/BSP/Sequre_S60/Vendor/STM32F1xx_HAL_Driver/Inc/Legacy
S60_STARTUP_DIR=./Startup
S60_INC_DIR=./Core/BSP/Sequre_S60
S60_LD_FILE=./Core/BSP/Sequre_S60/stm32f103.ld
MHP30_INC_CMSIS_DEVICE=./Core/BSP/MHP30/Vendor/CMSIS/Device/ST/STM32F1xx/Include
MHP30_CMSIS_CORE_INC_DIR=./Core/BSP/MHP30/Vendor/CMSIS/Include
MHP30_HAL_SRC_DIR=./Core/BSP/MHP30/Vendor/STM32F1xx_HAL_Driver
MHP30_HAL_INC_DIR=./Core/BSP/MHP30/Vendor/STM32F1xx_HAL_Driver/Inc
MHP30_HAL_LEGACY_INC_DIR=./Core/BSP/MHP30/Vendor/STM32F1xx_HAL_Driver/Inc/Legacy
MHP30_STARTUP_DIR=./Startup
MHP30_INC_DIR=./Core/BSP/MHP30
MHP30_LD_FILE=./Core/BSP/MHP30/stm32f103.ld
PINE_INC_DIR=./Core/BSP/Pinecil
PINE_VENDOR_SRC_DIR=./Core/BSP/Pinecil/Vendor/SoC/gd32vf103/Common/Source
PINE_VENDOR_INC_DIR=./Core/BSP/Pinecil/Vendor/SoC/gd32vf103/Common/Include
PINE_VENDOR_USB_INC_DIR=./Core/BSP/Pinecil/Vendor/SoC/gd32vf103/Common/Include/Usb
PINE_NMSIS_INC_DIR=./Core/BSP/Pinecil/Vendor/NMSIS/Core/Include
PINE_FREERTOS_PORT_INC_DIR=./Core/BSP/Pinecil/Vendor/OS/FreeRTOS/Source/portable/GCC
PINECILV2_DIR=./Core/BSP/Pinecilv2
PINECILV2_MEM_DIR=$(PINECILV2_DIR)/MemMang
PINECILV2_SDK_DIR=$(PINECILV2_DIR)/bl_mcu_sdk
PINECILV2_VENDOR_BSP_DIR=$(PINECILV2_SDK_DIR)/bsp
PINECILV2_VENDOR_BSP_COMMON_DIR=$(PINECILV2_VENDOR_BSP_DIR)/bsp_common
PINECILV2_VENDOR_BSP_BOARD_DIR=$(PINECILV2_VENDOR_BSP_DIR)/board
PINECILV2_VENDOR_BSP_PLATFORM_DIR=$(PINECILV2_VENDOR_BSP_COMMON_DIR)/platform
PINECILV2_VENDOR_BSP_USB_DIR=$(PINECILV2_VENDOR_BSP_COMMON_DIR)/usb
PINECILV2_COMMON_DIR=$(PINECILV2_SDK_DIR)/common
PINECILV2_COMMON_BL_MATH_DIR=$(PINECILV2_COMMON_DIR)/bl_math
PINECILV2_COMMON_DEVICE_DIR=$(PINECILV2_COMMON_DIR)/device
PINECILV2_COMMON_LIST_DIR=$(PINECILV2_COMMON_DIR)/list
PINECILV2_COMMON_MISC_DIR=$(PINECILV2_COMMON_DIR)/misc
PINECILV2_COMMON_PARTITION_DIR=$(PINECILV2_COMMON_DIR)/partition
PINECILV2_COMMON_PID_DIR=$(PINECILV2_COMMON_DIR)/pid
PINECILV2_COMMON_RING_BUFFERDIR=$(PINECILV2_COMMON_DIR)/ring_buffer
PINECILV2_COMMON_SOFT_CRC_DIR=$(PINECILV2_COMMON_DIR)/soft_crc
PINECILV2_COMMON_TIMESTAMP_DIR=$(PINECILV2_COMMON_DIR)/timestamp
PINECILV2_COMPONENTS_DIR=$(PINECILV2_SDK_DIR)/components
PINECILV2_COMPONENTS_FREERTOS_DIR=$(PINECILV2_COMPONENTS_DIR)/freertos
PINECILV2_COMPONENTS_FREERTOS_BL602_DIR=$(PINECILV2_COMPONENTS_FREERTOS_DIR)/portable/gcc/risc-v/bl702
PINECILV2_COMPONENTS_BLE_STACK_PORT_INCLUDE_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/port/include
PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/include
PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_DRIVERS_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/include/drivers
PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_DRIVERS_BLUETOOTH_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/include/drivers/bluetooth
PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_BLUETOOTH_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/include/bluetooth
PINECILV2_COMPONENTS_BLE_STACK_COMMON_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/common
PINECILV2_COMPONENTS_BLE_STACK_COMMON_INCLUDE_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/common/include
PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_MISC_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/common/include/misc
PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_ZEPHYR_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/common/include/zephyr
PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_NET_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/common/include/net
PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_TOOLCHAIN_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/common/include/toolchain
PINECILV2_COMPONENTS_BLE_STACK_TINYCRYPT_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/common/tinycrypt/include
PINECILV2_COMPONENTS_BLE_STACK_TINYCRYPT_INCLUDE_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/common/tinycrypt/include/tinycrypt
PINECILV2_COMPONENTS_BLE_STACK_HOST_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/host
PINECILV2_COMPONENTS_BLE_STACK_BL_HCI_WRAPPER_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/bl_hci_wrapper
PINECILV2_COMPONENTS_BLE_CONTROLLER_BLE_INC_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/blecontroller/ble_inc
PINECILV2_COMPONENTS_BLE_STACK_BC_DEC_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/ble_stack/sbc/dec
# Binary blobs suck and they should be ashamed
PINECILV2_BLE_CRAPWARE_BLOB_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/blecontroller/lib
PINECILV2_RF_CRAPWARE_BLOB_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/bl702_rf/lib
PINECILV2_COMPONENTS_NMSIS_DIR=$(PINECILV2_COMPONENTS_DIR)/nmsis
PINECILV2_COMPONENTS_NMSIS_CORE_INC_DIR=$(PINECILV2_COMPONENTS_NMSIS_DIR)/core/inc
PINECILV2_COMPONENTS_USB_STACK_DIR=$(PINECILV2_COMPONENTS_DIR)/usb_stack
PINECILV2_COMPONENTS_USB_STACK_COMMON_DIR=$(PINECILV2_COMPONENTS_USB_STACK_DIR)/common
PINECILV2_COMPONENTS_USB_STACK_CORE_DIR=$(PINECILV2_COMPONENTS_USB_STACK_DIR)/core
PINECILV2_COMPONENTS_USB_STACK_CDC_DIR=$(PINECILV2_COMPONENTS_USB_STACK_DIR)/class/cdc
PINECILV2_COMPONENTS_USB_STACK_WINUSB_DIR=$(PINECILV2_COMPONENTS_USB_STACK_DIR)/class/winusb
PINECILV2_DRIVERS_DIR=$(PINECILV2_SDK_DIR)/drivers/bl702_driver
PINECILV2_DRIVERS_HAL_DRV_INC_DIR=$(PINECILV2_DRIVERS_DIR)/hal_drv/inc
PINECILV2_DRIVERS_HAL_DRV_DEF_DIR=$(PINECILV2_DRIVERS_DIR)/hal_drv/default_config
PINECILV2_DRIVERS_REGS_DIR=$(PINECILV2_DRIVERS_DIR)/regs
PINECILV2_DRIVERS_RISCV_DIR=$(PINECILV2_DRIVERS_DIR)/risc-v
PINECILV2_DRIVERS_STARTUP_DIR=$(PINECILV2_DRIVERS_DIR)/startup
PINECILV2_DRIVERS_STD_DRV_DIR=$(PINECILV2_DRIVERS_DIR)/std_drv/inc
SOURCE_MIDDLEWARES_DIR=./Middlewares
FRTOS_CMIS_INC_DIR=./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS
FRTOS_INC_DIR=./Middlewares/Third_Party/FreeRTOS/Source/include
DRIVER_INC_DIR=./Core/Drivers
BSP_INC_DIR=./Core/BSP
THREADS_INC_DIR=./Core/Threads
THREADS_OP_MODES_INC_DIR=./Core/Threads/OperatingModes
THREADS_OP_MODES_TOOLS_INC_DIR=./Core/Threads/OperatingModes/utils
SOURCE_THREADS_DIR=./Core/Threads
SOURCE_CORE_DIR=./Core/Src
SOURCE_BRIEFLZ_DIR=./Core/brieflz
SOURCE_DRIVERS_DIR=./Core/Drivers
INC_PD_DRIVERS_DIR=./Core/Drivers/usb-pd/include
PD_DRIVER_TESTS_DIR=./Core/Drivers/usb-pd/tests
APP_INC_DIR=./Core/Inc/
MIDDLEWARES_DIR=./Middlewares/
BSP_INC_DIR=./Core/BSP/
THREADS_DIR=./Core/Threads/
SOURCE_CORE_DIR=./Core/Src/
BRIEFLZ_DIR=./Core/brieflz/
DRIVERS_DIR=./Core/Drivers/
PD_DRIVER_DIR=./Core/Drivers/usb-pd
# Exclude USB-PD tests
PD_DRIVER_TESTS_DIR=./Core/Drivers/usb-pd/tests
# Excludes for clang-format
ALL_INCLUDES_EXCEPT:=-path $(BRIEFLZ_INC_DIR) \
-o -path $(PD_DRIVER_DIR) \
-o -path $(PINECILV2_SDK_DIR) \
-o -path $(MINIWARE_HAL_INC_DIR) \
-o -path $(S60_HAL_INC_DIR) \
-o -path $(MHP30_HAL_INC_DIR) \
-o -path $(PINE_VENDOR_INC_DIR) \
-o -path $(MINIWARE_CMSIS_CORE_INC_DIR) \
-o -path $(S60_CMSIS_CORE_INC_DIR) \
-o -path $(MINIWARE_INC_CMSIS_DEVICE) \
-o -path $(S60_INC_CMSIS_DEVICE) \
-o -path $(MHP30_INC_CMSIS_DEVICE) \
ALL_INCLUDES_EXCEPT:=-path $(PD_DRIVER_DIR) \
-o -not -name "configuration.h"
ALL_SOURCE_EXCEPT:=-path $(SOURCE_BRIEFLZ_DIR) \
-o -path $(PD_DRIVER_DIR) \
-o -path $(PINECILV2_SDK_DIR) \
-o -path $(MINIWARE_HAL_SRC_DIR) \
-o -path $(S60_HAL_SRC_DIR) \
-o -path $(MHP30_HAL_SRC_DIR) \
-o -path $(PINE_VENDOR_SRC_DIR) \
-o -path $(PINECILV2_MEM_DIR)
ALL_SOURCE_EXCEPT:=-path $(PD_DRIVER_DIR)
# Find-all's used for formatting; have to exclude external modules
ALL_INCLUDES=$(shell find ./Core -type d \( $(ALL_INCLUDES_EXCEPT) \) -prune -false -o \( -type f \( -name '*.h' -o -name '*.hpp' \) \) )
ALL_SOURCE=$(shell find ./Core -type d \( $(ALL_SOURCE_EXCEPT) \) -prune -false -o \( -type f \( -name '*.c' -o -name '*.cpp' \) \) )
@@ -205,15 +81,8 @@ ALL_SOURCE=$(shell find ./Core -type d \( $(ALL_SOURCE_EXCEPT) \) -prune -f
# Device dependent settings
ifeq ($(model),$(filter $(model),$(ALL_MINIWARE_MODELS)))
$(info Building for Miniware )
DEVICE_INCLUDES=-I$(MINIWARE_INC_DIR) \
-I$(MINIWARE_INC_CMSIS_DEVICE) \
-I$(MINIWARE_CMSIS_CORE_INC_DIR) \
-I$(MINIWARE_HAL_INC_DIR) \
-I$(MINIWARE_HAL_LEGACY_INC_DIR)
DEVICE_BSP_DIR=./Core/BSP/Miniware
S_SRCS:=$(shell find $(MINIWARE_STARTUP_DIR) -type f -name '*.S')
LDSCRIPT=$(MINIWARE_LD_FILE)
DEVICE_BSP_DIR=./Core/BSP/Miniware/
LDSCRIPT=./Core/BSP/Miniware/stm32f103.ld
ifeq ($(model),$(filter $(model),TS101))
flash_size=126k
@@ -249,15 +118,10 @@ endif # ALL_MINIWARE_MODELS
ifeq ($(model),$(filter $(model),$(ALL_SEQURE_MODELS)))
$(info Building for Sequre )
DEVICE_INCLUDES=-I$(S60_INC_DIR) \
-I$(S60_INC_CMSIS_DEVICE) \
-I$(S60_CMSIS_CORE_INC_DIR) \
-I$(S60_HAL_INC_DIR) \
-I$(S60_HAL_LEGACY_INC_DIR)
DEVICE_BSP_DIR=./Core/BSP/Sequre_S60
DEVICE_BSP_DIR=./Core/BSP/Sequre_S60/
S_SRCS:=$(shell find $(S60_STARTUP_DIR) -type f -name '*.S')
LDSCRIPT=$(S60_LD_FILE)
LDSCRIPT=./Core/BSP/Sequre_S60/stm32f103.ld
DEV_GLOBAL_DEFS=-D STM32F103T8Ux \
-D STM32F1 \
-D STM32 \
@@ -285,15 +149,9 @@ endif # ALL_SEQURE_MODELS
ifeq ($(model),$(filter $(model),$(ALL_MHP30_MODELS)))
$(info Building for MHP30 )
DEVICE_INCLUDES=-I$(MHP30_INC_DIR) \
-I$(MHP30_INC_CMSIS_DEVICE) \
-I$(MHP30_CMSIS_CORE_INC_DIR) \
-I$(MHP30_HAL_INC_DIR) \
-I$(MHP30_HAL_LEGACY_INC_DIR)
DEVICE_BSP_DIR=./Core/BSP/MHP30
S_SRCS:=$(shell find $(MHP30_STARTUP_DIR) -type f -name '*.S')
LDSCRIPT=$(MHP30_LD_FILE)
DEVICE_BSP_DIR=./Core/BSP/MHP30/
LDSCRIPT=./Core/BSP/MHP30/stm32f103.ld
DEV_GLOBAL_DEFS=-D STM32F103T8Ux \
-D STM32F1 \
-D STM32 \
@@ -320,15 +178,10 @@ endif # ALL_MHP30_MODELS
ifeq ($(model),$(ALL_PINECIL_MODELS))
$(info Building for Pine64 Pinecilv1)
DEVICE_INCLUDES=-I$(PINE_INC_DIR) \
-I$(PINE_VENDOR_INC_DIR) \
-I$(PINE_VENDOR_USB_INC_DIR) \
-I$(PINE_NMSIS_INC_DIR) \
-I$(PINE_FREERTOS_PORT_INC_DIR)
DEVICE_BSP_DIR=./Core/BSP/Pinecil
S_SRCS:=$(shell find $(PINE_INC_DIR) -type f -name '*.S') $(info $(S_SRCS) )
ASM_INC=-I$(PINE_RISCV_INC_DIR)
DEVICE_BSP_DIR=./Core/BSP/Pinecil/
S_SRCS:=$(shell find $(DEVICE_BSP_DIR) -type f -name '*.S')
LDSCRIPT=./Core/BSP/Pinecil/Vendor/SoC/gd32vf103/Board/pinecil/Source/GCC/gcc_gd32vf103_flashxip.ld
flash_size=128k
bootldr_size=0x0
@@ -351,61 +204,8 @@ endif # ALL_PINECIL_MODELS
ifeq ($(model),$(ALL_PINECIL_V2_MODELS))
$(info Building for Pine64 Pinecilv2 )
DEVICE_INCLUDES=-I$(PINECILV2_DIR) \
-I$(PINECILV2_SDK_DIR) \
-I$(PINECILV2_VENDOR_BSP_COMMON_DIR) \
-I$(PINECILV2_VENDOR_BSP_PLATFORM_DIR) \
-I$(PINECILV2_COMMON_DIR) \
-I$(PINECILV2_COMMON_BL_MATH_DIR) \
-I$(PINECILV2_COMMON_DEVICE_DIR) \
-I$(PINECILV2_COMMON_LIST_DIR) \
-I$(PINECILV2_COMMON_MISC_DIR) \
-I$(PINECILV2_COMMON_PARTITION_DIR) \
-I$(PINECILV2_COMMON_PID_DIR) \
-I$(PINECILV2_COMMON_RING_BUFFERDIR) \
-I$(PINECILV2_COMMON_SOFT_CRC_DIR) \
-I$(PINECILV2_COMMON_TIMESTAMP_DIR) \
-I$(PINECILV2_COMPONENTS_DIR) \
-I$(PINECILV2_COMPONENTS_FREERTOS_DIR) \
-I$(PINECILV2_COMPONENTS_FREERTOS_BL602_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_DRIVERS_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_DRIVERS_BLUETOOTH_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_PORT_INCLUDE_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_BLUETOOTH_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_COMMON_INCLUDE_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_COMMON_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_MISC_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_ZEPHYR_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_NET_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_TOOLCHAIN_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_INCLUDE_TOOLCHAIN_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_TINYCRYPT_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_TINYCRYPT_INCLUDE_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_HOST_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_BL_HCI_WRAPPER_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_CONTROLLER_BLE_INC_DIR) \
-I$(PINECILV2_COMPONENTS_BLE_STACK_BC_DEC_DIR) \
-I$(PINECILV2_COMPONENTS_NMSIS_DIR) \
-I$(PINECILV2_COMPONENTS_USB_STACK_DIR) \
-I$(PINECILV2_DRIVERS_DIR) \
-I$(PINECILV2_DRIVERS_HAL_DRV_INC_DIR) \
-I$(PINECILV2_DRIVERS_HAL_DRV_DEF_DIR) \
-I$(PINECILV2_DRIVERS_REGS_DIR) \
-I$(PINECILV2_DRIVERS_RISCV_DIR) \
-I$(PINECILV2_DRIVERS_STARTUP_DIR) \
-I$(PINECILV2_DRIVERS_STD_DRV_DIR) \
-I$(PINECILV2_VENDOR_BSP_PLATFORM_DIR) \
-I$(PINECILV2_VENDOR_BSP_USB_DIR) \
-I$(PINECILV2_COMPONENTS_USB_STACK_COMMON_DIR) \
-I$(PINECILV2_COMPONENTS_USB_STACK_CORE_DIR) \
-I$(PINECILV2_COMPONENTS_USB_STACK_CDC_DIR) \
-I$(PINECILV2_COMPONENTS_USB_STACK_WINUSB_DIR) \
-I$(PINECILV2_COMPONENTS_NMSIS_CORE_INC_DIR)
DEVICE_BSP_DIR=./Core/BSP/Pinecilv2
S_SRCS:=$(shell find $(PINECILV2_DIR) -type d \( -path $(PINECILV2_VENDOR_BSP_COMMON_DIR) \) -prune -false -o -type f -name '*.S') $(info $(S_SRCS) )
ASM_INC=$(DEVICE_INCLUDES)
DEVICE_BSP_DIR=./Core/BSP/Pinecilv2/
LDSCRIPT=./Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/bl702_flash.ld
DEVICE_DFU_ADDRESS=0x23000000
# DFU starts at the beginning of flash
@@ -422,6 +222,12 @@ CPUFLAGS=-march=rv32imafczicsr \
-DBL702 \
-DBFLB_USE_ROM_DRIVER=1 \
# Binary blobs suck and they should be ashamed
PINECILV2_SDK_DIR=$(DEVICE_BSP_DIR)/bl_mcu_sdk
PINECILV2_COMPONENTS_DIR=$(PINECILV2_SDK_DIR)/components
PINECILV2_BLE_CRAPWARE_BLOB_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/blecontroller/lib
PINECILV2_RF_CRAPWARE_BLOB_DIR=$(PINECILV2_COMPONENTS_DIR)/ble/bl702_rf/lib
DEV_LDFLAGS=-nostartfiles \
-L $(PINECILV2_BLE_CRAPWARE_BLOB_DIR) \
-L $(PINECILV2_RF_CRAPWARE_BLOB_DIR) \
@@ -482,38 +288,41 @@ bootldr_size=0x0
endif # ALL_PINECIL_V2_MODELS
DEVICE_BSP_INCLUDE_DIRS:= ${shell find ${DEVICE_BSP_DIR} -type d -print}
THREADS_INCLUDE_DIRS:= ${shell find ${THREADS_DIR} -type d -print}
DRIVERS_INCLUDE_DIRS:= ${shell find ${DRIVERS_DIR} -type d -print}
BRIEFLZ_INCLUDE_DIRS:= ${shell find ${BRIEFLZ_DIR} -type d -print}
MIDDLEWARES_INCLUDE_DIRS:= ${shell find ${MIDDLEWARES_DIR} -type d -print}
INCLUDES=-I$(APP_INC_DIR) \
-I$(BRIEFLZ_INC_DIR) \
-I$(FRTOS_CMIS_INC_DIR) \
-I$(FRTOS_INC_DIR) \
-I$(DRIVER_INC_DIR) \
-I$(BSP_INC_DIR) \
-I$(THREADS_INC_DIR) \
-I$(THREADS_OP_MODES_INC_DIR) \
-I$(THREADS_OP_MODES_TOOLS_INC_DIR) \
-I$(INC_PD_DRIVERS_DIR) \
$(DEVICE_INCLUDES)
${patsubst %,-I%,${DEVICE_BSP_INCLUDE_DIRS}} \
${patsubst %,-I%,${THREADS_INCLUDE_DIRS}} \
${patsubst %,-I%,${DRIVERS_INCLUDE_DIRS}} \
${patsubst %,-I%,${BRIEFLZ_INCLUDE_DIRS}} \
${patsubst %,-I%,${MIDDLEWARES_INCLUDE_DIRS}}
EXCLUDED_DIRS:=-path $(PINECILV2_VENDOR_BSP_ES8388_DIR) \
-o -path $(PINECILV2_VENDOR_BSP_IMAGE_SENSOR_DIR) \
-o -path $(PINECILV2_VENDOR_BSP_LVGL_DIR) \
-o -path $(PINECILV2_VENDOR_BSP_MCU_LCD_DIR) \
-o -path $(PINECILV2_VENDOR_BSP_BOARD_DIR) \
-o -path $(PINECILV2_VENDOR_BSP_USB_DIR)
ASM_INC=$(INCLUDES)
SOURCE:=$(shell find $(SOURCE_THREADS_DIR) -type f -name '*.c') \
$(shell find $(SOURCE_CORE_DIR) -type f -name '*.c') \
$(shell find $(SOURCE_DRIVERS_DIR) -type f -name '*.c') \
$(shell find $(DEVICE_BSP_DIR) -type d \( $(EXCLUDED_DIRS) \) -prune -false -o -type f -name '*.c') \
$(shell find $(SOURCE_MIDDLEWARES_DIR) -type f -name '*.c') \
$(SOURCE_BRIEFLZ_DIR)/depack.c
SOURCE:=$(shell find ${THREADS_DIR} -type f -name '*.c') \
$(shell find ${SOURCE_CORE_DIR} -type f -name '*.c') \
$(shell find ${DRIVERS_DIR} -type f -name '*.c') \
$(shell find ${DEVICE_BSP_DIR} -type f -name '*.c') \
$(shell find ${MIDDLEWARES_DIR} -type f -name '*.c') \
$(BRIEFLZ_DIR)/depack.c
# We exclude the USB-PD stack tests $(PD_DRIVER_TESTS_DIR)
SOURCE_CPP:=$(shell find $(SOURCE_THREADS_DIR) -type f -name '*.cpp') \
$(shell find $(SOURCE_CORE_DIR) -type f -name '*.cpp') \
$(shell find $(SOURCE_DRIVERS_DIR) -path $(PD_DRIVER_TESTS_DIR) -prune -false -o -type f -name '*.cpp') \
$(shell find $(DEVICE_BSP_DIR) -type d \( $(EXCLUDED_DIRS) \) -prune -false -o -type f -name '*.cpp') \
$(shell find $(SOURCE_MIDDLEWARES_DIR) -type f -name '*.cpp')
SOURCE_CPP:=$(shell find ${THREADS_DIR} -type f -name '*.cpp') \
$(shell find ${SOURCE_CORE_DIR} -type f -name '*.cpp') \
$(shell find ${DRIVERS_DIR} -type f -name '*.cpp' -not -path "${PD_DRIVER_TESTS_DIR}/*" ) \
$(shell find ${DEVICE_BSP_DIR} -type f -name '*.cpp') \
$(shell find ${MIDDLEWARES_DIR} -type f -name '*.cpp')
S_SRCS:=$(shell find $(DEVICE_BSP_DIR) -type f -name '*.S')
# Code optimisation ------------------------------------------------------------
OPTIM=-Os \
@@ -523,7 +332,7 @@ OPTIM=-Os \
-fdevirtualize-at-ltrans \
-fmerge-all-constants \
-fshort-wchar \
-flto \
-flto=auto \
-finline-small-functions \
-finline-functions \
-findirect-inlining \
@@ -748,12 +557,12 @@ Core/Gen/macros.txt: Makefile
$(OUTPUT_DIR)/Core/Gen/translation.files/%.o: Core/Gen/Translation.%.cpp
@test -d $(@D) || mkdir -p $(@D)
@echo Generating $@
@$(CPP) -c $(filter-out -flto ,$(CXXFLAGS)) $< -o $@
@$(CPP) -c $(filter-out -flto=auto ,$(CXXFLAGS)) $< -o $@
$(OUTPUT_DIR)/Core/Gen/translation.files/multi.%.o: Core/Gen/Translation_multi.%.cpp
@test -d $(@D) || mkdir -p $(@D)
@echo Generating $@
@$(CPP) -c $(filter-out -flto ,$(CXXFLAGS)) $< -o $@
@$(CPP) -c $(filter-out -flto=auto ,$(CXXFLAGS)) $< -o $@
$(HOST_OUTPUT_DIR)/brieflz/libbrieflz.so: Core/brieflz/brieflz.c Core/brieflz/depack.c
@test -d $(@D) || mkdir -p $(@D)