mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-18 16:27:34 +01:00
[build] Clean the targets
This commit is contained in:
committed by
EmilieNumworks
parent
6082a011ee
commit
c97903f3be
30
Makefile
30
Makefile
@@ -30,14 +30,6 @@ $(addprefix $$(BUILD_DIR)/,$(strip $(2))): $(strip $(3)) | $$$$(@D)/.
|
||||
$(Q) $(4)
|
||||
endef
|
||||
|
||||
# Define rules for targets
|
||||
# Those can be built directly with make executable.extension as a shortcut.
|
||||
|
||||
define rules_for_targets
|
||||
.PHONY: $(1)$(2)
|
||||
$(1)$(2): $$(BUILD_DIR)/$(1)$(2)
|
||||
endef
|
||||
|
||||
.PHONY: info
|
||||
info:
|
||||
@echo "========= Building Flags ========="
|
||||
@@ -147,31 +139,13 @@ all_objs = $(call object_for,$(all_src))
|
||||
# but allows correct yet optimal incremental builds.
|
||||
-include $(all_objs:.o=.d)
|
||||
|
||||
executables = epsilon epsilon.on-boarding epsilon.on-boarding.update epsilon.on-boarding.beta test
|
||||
|
||||
extensions = .$(EXE)
|
||||
|
||||
#define platform generic targets
|
||||
all_epsilon_common_src = $(ion_src) $(liba_src) $(kandinsky_src) $(epsilon_src) $(app_src) $(escher_src) $(libaxx_src) $(poincare_src) $(python_src) $(ion_device_dfu_relocated_src)
|
||||
all_epsilon_default_src = $(all_epsilon_common_src) $(apps_launch_default_src) $(apps_prompt_none_src)
|
||||
|
||||
$(BUILD_DIR)/epsilon.$(EXE): $(call object_for,$(all_epsilon_default_src))
|
||||
$(BUILD_DIR)/epsilon.on-boarding.$(EXE): $(call object_for,$(all_epsilon_common_src) $(apps_launch_on_boarding_src) $(apps_prompt_none_src))
|
||||
$(BUILD_DIR)/epsilon.on-boarding.update.$(EXE): $(call object_for,$(all_epsilon_common_src) $(apps_launch_on_boarding_src) $(apps_prompt_update_src))
|
||||
$(BUILD_DIR)/epsilon.on-boarding.beta.$(EXE): $(call object_for,$(all_epsilon_common_src) $(apps_launch_on_boarding_src) $(apps_prompt_beta_src))
|
||||
|
||||
$(BUILD_DIR)/test.$(EXE): $(BUILD_DIR)/quiz/src/tests_symbols.o $(call object_for,$(ion_src) $(liba_src) $(kandinsky_src) $(escher_src) $(libaxx_src) $(poincare_src) $(python_src) $(ion_device_dfu_relocated_src) $(tests_src) $(runner_src) $(app_calculation_test_src) $(app_probability_test_src) $(app_regression_test_src) $(app_sequence_test_src) $(app_shared_test_src) $(app_statistics_test_src) $(app_solver_test_src))
|
||||
|
||||
# Load platform-specific targets
|
||||
# We include them before the standard ones to give them precedence.
|
||||
-include build/targets.$(PLATFORM).mak
|
||||
# Define main and shortcut targets
|
||||
include build/targets.mak
|
||||
|
||||
# Fill in the default recipe
|
||||
DEFAULT ?= $(BUILD_DIR)/epsilon.$(EXE)
|
||||
default: $(DEFAULT)
|
||||
|
||||
$(foreach extension,$(extensions),$(foreach executable,$(executables),$(eval $(call rules_for_targets,$(executable),$(extension)))))
|
||||
|
||||
# Load standard build rules
|
||||
include build/rules.mk
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Compare
|
||||
|
||||
executables += libepsilon_first libepsilon_second
|
||||
extensions += .o
|
||||
HANDY_TARGETS += libepsilon_first libepsilon_second
|
||||
HANDY_TARGETS_EXTENSIONS += o
|
||||
|
||||
$(eval $(call rules_for_targets,compare,))
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
include build/targets.device.$(MODEL).mak
|
||||
|
||||
executables += flasher.light flasher.verbose bench.ram bench.flash
|
||||
extensions += .dfu .hex .bin
|
||||
HANDY_TARGETS += flasher.light flasher.verbose bench.ram bench.flash
|
||||
HANDY_TARGETS_EXTENSIONS += dfu hex bin
|
||||
|
||||
$(eval $(call rule_for, \
|
||||
DFUSE, %.dfu, %.$$(EXE), \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
executables += test.external_flash.write test.external_flash.read
|
||||
HANDY_TARGETS += test.external_flash.write test.external_flash.read
|
||||
|
||||
$(BUILD_DIR)/test.external_flash.%.$(EXE): LDSCRIPT = ion/test/device/n0110/external_flash_tests.ld
|
||||
test_external_flash_src = $(ion_src) $(liba_src) $(libaxx_src) $(kandinsky_src) $(poincare_src) $(ion_device_dfu_relogated_src) $(runner_src)
|
||||
|
||||
28
build/targets.mak
Normal file
28
build/targets.mak
Normal file
@@ -0,0 +1,28 @@
|
||||
# Define standard Epsilon targets
|
||||
all_epsilon_common_src = $(ion_src) $(liba_src) $(kandinsky_src) $(epsilon_src) $(app_src) $(escher_src) $(libaxx_src) $(poincare_src) $(python_src) $(ion_device_dfu_relocated_src)
|
||||
all_epsilon_default_src = $(all_epsilon_common_src) $(apps_launch_default_src) $(apps_prompt_none_src)
|
||||
|
||||
$(BUILD_DIR)/epsilon.$(EXE): $(call object_for,$(all_epsilon_default_src))
|
||||
$(BUILD_DIR)/epsilon.on-boarding.$(EXE): $(call object_for,$(all_epsilon_common_src) $(apps_launch_on_boarding_src) $(apps_prompt_none_src))
|
||||
$(BUILD_DIR)/epsilon.on-boarding.update.$(EXE): $(call object_for,$(all_epsilon_common_src) $(apps_launch_on_boarding_src) $(apps_prompt_update_src))
|
||||
$(BUILD_DIR)/epsilon.on-boarding.beta.$(EXE): $(call object_for,$(all_epsilon_common_src) $(apps_launch_on_boarding_src) $(apps_prompt_beta_src))
|
||||
|
||||
$(BUILD_DIR)/test.$(EXE): $(BUILD_DIR)/quiz/src/tests_symbols.o $(call object_for,$(ion_src) $(liba_src) $(kandinsky_src) $(escher_src) $(libaxx_src) $(poincare_src) $(python_src) $(ion_device_dfu_relocated_src) $(tests_src) $(runner_src) $(app_calculation_test_src) $(app_probability_test_src) $(app_regression_test_src) $(app_sequence_test_src) $(app_shared_test_src) $(app_statistics_test_src) $(app_solver_test_src))
|
||||
|
||||
# Define handy targets
|
||||
# Those can be built easily by simply invoking "make target.ext". The named file
|
||||
# will be built in $(BUILD_DIR).
|
||||
|
||||
HANDY_TARGETS = epsilon epsilon.on-boarding epsilon.on-boarding.update epsilon.on-boarding.beta test
|
||||
HANDY_TARGETS_EXTENSIONS = $(EXE)
|
||||
|
||||
define handy_target_rule
|
||||
.PHONY: $(1).$(2)
|
||||
$(1).$(2): $$(BUILD_DIR)/$(1).$(2)
|
||||
endef
|
||||
|
||||
# Load platform-specific targets
|
||||
# We include them before the standard ones to give them precedence.
|
||||
-include build/targets.$(PLATFORM).mak
|
||||
|
||||
$(foreach extension,$(HANDY_TARGETS_EXTENSIONS),$(foreach executable,$(HANDY_TARGETS),$(eval $(call handy_target_rule,$(executable),$(extension)))))
|
||||
Reference in New Issue
Block a user