mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-12 19:10:32 +03:00
Add ability to specify a config.c file for a config target (#14180)
- adding configTargetPreInit() method to execute code for the config target
This commit is contained in:
parent
123faebacf
commit
5e815ba608
4 changed files with 29 additions and 25 deletions
27
mk/config.mk
27
mk/config.mk
|
@ -16,10 +16,17 @@ ifneq ($(TARGET),)
|
|||
$(error TARGET or CONFIG should be specified. Not both.)
|
||||
endif
|
||||
|
||||
CONFIG_FILE = $(CONFIG_DIR)/configs/$(CONFIG)/config.h
|
||||
INCLUDE_DIRS += $(CONFIG_DIR)/configs/$(CONFIG)
|
||||
CONFIG_HEADER_FILE = $(CONFIG_DIR)/configs/$(CONFIG)/config.h
|
||||
CONFIG_SOURCE_FILE = $(CONFIG_DIR)/configs/$(CONFIG)/config.c
|
||||
INCLUDE_DIRS += $(CONFIG_DIR)/configs/$(CONFIG)
|
||||
|
||||
ifneq ($(wildcard $(CONFIG_FILE)),)
|
||||
ifneq ($(wildcard $(CONFIG_HEADER_FILE)),)
|
||||
|
||||
CONFIG_SRC :=
|
||||
ifneq ($(wildcard $(CONFIG_SOURCE_FILE)),)
|
||||
CONFIG_SRC += $(CONFIG_SOURCE_FILE)
|
||||
TARGET_FLAGS += -DUSE_CONFIG_SOURCE
|
||||
endif
|
||||
|
||||
CONFIG_REVISION := norevision
|
||||
ifeq ($(shell git -C $(CONFIG_DIR) diff --shortstat),)
|
||||
|
@ -27,26 +34,26 @@ CONFIG_REVISION := $(shell git -C $(CONFIG_DIR) log -1 --format="%h")
|
|||
CONFIG_REVISION_DEFINE := -D'__CONFIG_REVISION__="$(CONFIG_REVISION)"'
|
||||
endif
|
||||
|
||||
TARGET := $(shell grep " FC_TARGET_MCU" $(CONFIG_FILE) | awk '{print $$3}' )
|
||||
HSE_VALUE_MHZ := $(shell grep " SYSTEM_HSE_MHZ" $(CONFIG_FILE) | awk '{print $$3}' )
|
||||
TARGET := $(shell grep " FC_TARGET_MCU" $(CONFIG_HEADER_FILE) | awk '{print $$3}' )
|
||||
HSE_VALUE_MHZ := $(shell grep " SYSTEM_HSE_MHZ" $(CONFIG_HEADER_FILE) | awk '{print $$3}' )
|
||||
ifneq ($(HSE_VALUE_MHZ),)
|
||||
HSE_VALUE := $(shell echo $$(( $(HSE_VALUE_MHZ) * 1000000 )) )
|
||||
endif
|
||||
|
||||
GYRO_DEFINE := $(shell grep " USE_GYRO_" $(CONFIG_FILE) | awk '{print $$2}' )
|
||||
GYRO_DEFINE := $(shell grep " USE_GYRO_" $(CONFIG_HEADER_FILE) | awk '{print $$2}' )
|
||||
|
||||
ifeq ($(TARGET),)
|
||||
$(error No TARGET identified. Is the $(CONFIG_FILE) valid for $(CONFIG)?)
|
||||
$(error No TARGET identified. Is the $(CONFIG_HEADER_FILE) valid for $(CONFIG)?)
|
||||
endif
|
||||
|
||||
EXST_ADJUST_VMA := $(shell grep " FC_VMA_ADDRESS" $(CONFIG_FILE) | awk '{print $$3}' )
|
||||
EXST_ADJUST_VMA := $(shell grep " FC_VMA_ADDRESS" $(CONFIG_HEADER_FILE) | awk '{print $$3}' )
|
||||
ifneq ($(EXST_ADJUST_VMA),)
|
||||
EXST = yes
|
||||
endif
|
||||
|
||||
else #exists
|
||||
$(error `$(CONFIG_FILE)` not found. Have you hydrated configuration using: 'make configs'?)
|
||||
endif #config_file exists
|
||||
$(error `$(CONFIG_HEADER_FILE)` not found. Have you hydrated configuration using: 'make configs'?)
|
||||
endif #CONFIG_HEADER_FILE exists
|
||||
endif #config
|
||||
|
||||
.PHONY: configs
|
||||
|
|
18
mk/source.mk
18
mk/source.mk
|
@ -56,7 +56,6 @@ COMMON_SRC = \
|
|||
build/debug_pin.c \
|
||||
build/version.c \
|
||||
main.c \
|
||||
$(PG_SRC) \
|
||||
common/bitarray.c \
|
||||
common/colorconversion.c \
|
||||
common/crc.c \
|
||||
|
@ -369,9 +368,8 @@ SDCARD_SRC += \
|
|||
io/asyncfatfs/asyncfatfs.c \
|
||||
io/asyncfatfs/fat_standard.c
|
||||
|
||||
INCLUDE_DIRS := $(INCLUDE_DIRS) \
|
||||
$(FATFS_DIR)
|
||||
VPATH := $(VPATH):$(FATFS_DIR)
|
||||
INCLUDE_DIRS += $(FATFS_DIR)
|
||||
VPATH := $(VPATH):$(FATFS_DIR)
|
||||
|
||||
# Gyro driver files that only contain initialization and configuration code - not runtime code
|
||||
SIZE_OPTIMISED_SRC += \
|
||||
|
@ -411,22 +409,20 @@ SPEED_OPTIMISED_SRC += \
|
|||
|
||||
endif
|
||||
|
||||
COMMON_DEVICE_SRC = \
|
||||
$(CMSIS_SRC) \
|
||||
$(DEVICE_STDPERIPH_SRC)
|
||||
COMMON_DEVICE_SRC = $(CMSIS_SRC) $(DEVICE_STDPERIPH_SRC)
|
||||
|
||||
COMMON_SRC := $(COMMON_SRC) $(COMMON_DEVICE_SRC) $(RX_SRC)
|
||||
COMMON_SRC += $(CONFIG_SRC) $(PG_SRC) $(COMMON_DEVICE_SRC) $(RX_SRC)
|
||||
|
||||
ifeq ($(EXST),yes)
|
||||
TARGET_FLAGS := -DUSE_EXST $(TARGET_FLAGS)
|
||||
TARGET_FLAGS += -DUSE_EXST
|
||||
endif
|
||||
|
||||
ifeq ($(RAM_BASED),yes)
|
||||
TARGET_FLAGS := -DUSE_EXST -DCONFIG_IN_RAM -DRAMBASED $(TARGET_FLAGS)
|
||||
TARGET_FLAGS += -DUSE_EXST -DCONFIG_IN_RAM -DRAMBASED
|
||||
endif
|
||||
|
||||
ifeq ($(SIMULATOR_BUILD),yes)
|
||||
TARGET_FLAGS := -DSIMULATOR_BUILD $(TARGET_FLAGS)
|
||||
TARGET_FLAGS += -DSIMULATOR_BUILD
|
||||
endif
|
||||
|
||||
SPEED_OPTIMISED_SRC += \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue