1
0
Fork 0
mirror of https://github.com/iNavFlight/inav.git synced 2025-07-23 00:05:28 +03:00
inav/make/settings.mk
Alberto García Hierro b9311541e4 [MAKE] Split makefiles, add support for OpenOCD and GDB
- 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
2019-12-09 11:23:52 +00:00

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)