mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-23 00:05:28 +03:00
- Move make/local.mk to the top of the Makefile, so it can set any variables - Move target and group definitions to make/targets.mk - Move settings related rules to make/settings.mk - Move build-stamp rules to make/stamp.mk - Define STM32 flash offset in a variable in make/mcu/STM32.mk - Add make/openocd.mk with openocd-run and openocd-flash targets - Add make/gdb.mk with gdb-openocd target
26 lines
1.1 KiB
Makefile
26 lines
1.1 KiB
Makefile
# Settings generator
|
|
.PHONY: settings clean-settings
|
|
UTILS_DIR = $(ROOT)/src/utils
|
|
SETTINGS_GENERATOR = $(UTILS_DIR)/settings.rb
|
|
|
|
GENERATED_SETTINGS = $(TARGET_OBJ_DIR)/settings_generated.h $(TARGET_OBJ_DIR)/settings_generated.c
|
|
SETTINGS_FILE = $(SRC_DIR)/fc/settings.yaml
|
|
GENERATED_FILES = $(GENERATED_SETTINGS)
|
|
$(GENERATED_SETTINGS): $(SETTINGS_GENERATOR) $(SETTINGS_FILE) $(STAMP)
|
|
|
|
CLEAN_ARTIFACTS += $(GENERATED_SETTINGS)
|
|
|
|
# Make sure the generated files are in the include path
|
|
CFLAGS += -I$(TARGET_OBJ_DIR)
|
|
|
|
# Use a pattern rule, since they're different than normal rules.
|
|
# See https://www.gnu.org/software/make/manual/make.html#Pattern-Examples
|
|
%generated.h %generated.c:
|
|
$(V1) echo "settings.yaml -> settings_generated.h, settings_generated.c" "$(STDOUT)"
|
|
$(V1) CPP_PATH="$(ARM_SDK_DIR)/bin" CFLAGS="$(CFLAGS)" TARGET=$(TARGET) ruby $(SETTINGS_GENERATOR) . $(SETTINGS_FILE) -o $(TARGET_OBJ_DIR)
|
|
|
|
settings-json:
|
|
$(V0) CPP_PATH="$(ARM_SDK_DIR)/bin" CFLAGS="$(CFLAGS)" TARGET=$(TARGET) ruby $(SETTINGS_GENERATOR) . $(SETTINGS_FILE) --json settings.json
|
|
|
|
clean-settings:
|
|
$(V1) $(RM) $(GENERATED_SETTINGS)
|