mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-18 16:27:34 +01:00
[build] Use variants
- Move helpers functions into build/helpers.mak - Move official warning into official targets only
This commit is contained in:
36
Makefile
36
Makefile
@@ -1,34 +1,20 @@
|
||||
include build/config.mak
|
||||
|
||||
# Disable default Make rules
|
||||
.SUFFIXES:
|
||||
|
||||
object_for = $(addprefix $(BUILD_DIR)/,$(addsuffix .o,$(basename $(1))))
|
||||
|
||||
# Define the default recipe
|
||||
|
||||
default:
|
||||
|
||||
# Define a standard rule helper
|
||||
# If passed a last parameter value of with_local_version, we also define an
|
||||
# extra rule that can build source files within the $(BUILD_DIR). This is useful
|
||||
# for rules that can be applied for intermediate objects (for example, when
|
||||
# going .png -> .cpp -> .o).
|
||||
include build/config.mak
|
||||
include build/defaults.mak
|
||||
include build/platform.$(PLATFORM).mak
|
||||
include build/toolchain.$(TOOLCHAIN).mak
|
||||
include build/variants.mak
|
||||
include build/helpers.mk
|
||||
|
||||
define rule_label
|
||||
@ echo "$(shell printf "%-8s" $(strip $(1)))$(@:$(BUILD_DIR)/%=%)"
|
||||
define foo
|
||||
endef
|
||||
|
||||
define rule_for
|
||||
ifeq ($(strip $(5)),with_local_version)
|
||||
$(addprefix $$(BUILD_DIR)/,$(strip $(2))): $(addprefix $$(BUILD_DIR)/,$(strip $(3))) | $(if $(findstring official,${MAKECMDGOALS}),official_authorization)
|
||||
@ echo "$(shell printf "%-8s" $(strip $(1)))$$(@:$$(BUILD_DIR)/%=%)"
|
||||
$(Q) $(4)
|
||||
endif
|
||||
$(addprefix $$(BUILD_DIR)/,$(strip $(2))): $(strip $(3)) | $$$$(@D)/. $(if $(findstring official,${MAKECMDGOALS}),official_authorization)
|
||||
@ echo "$(shell printf "%-8s" $(strip $(1)))$$(@:$$(BUILD_DIR)/%=%)"
|
||||
$(Q) $(4)
|
||||
endef
|
||||
$(eval $(call foo))
|
||||
|
||||
.PHONY: info
|
||||
info:
|
||||
@@ -83,7 +69,9 @@ $(BUILD_DIR)%/.:
|
||||
# Each sub-Makefile can either add sources to $(%_src) variables or define a
|
||||
# new executable target. The $(%_src) variables list the sources that can be
|
||||
# built and linked to executables being generated.
|
||||
|
||||
ifndef USE_LIBA
|
||||
$(error platform.mak should define USE_LIBA)
|
||||
endif
|
||||
ifeq ($(USE_LIBA),0)
|
||||
include liba/Makefile.bridge
|
||||
else
|
||||
@@ -102,7 +90,7 @@ include build/struct_layout/Makefile
|
||||
include build/scenario/Makefile
|
||||
include quiz/Makefile # Quiz needs to be included at the end
|
||||
|
||||
all_src = $(apps_all_src) $(escher_src) $(ion_all_src) $(kandinsky_src) $(liba_src) $(libaxx_src) $(poincare_src) $(python_src) $(runner_src) $(ion_target_device_flasher_light_src) $(ion_target_device_flasher_verbose_src) $(ion_target_device_bench_src) $(tests_src)
|
||||
all_src = $(apps_src) $(escher_src) $(ion_src) $(kandinsky_src) $(liba_src) $(libaxx_src) $(poincare_src) $(python_src) $(runner_src) $(ion_device_flasher_src) $(ion_device_bench_src) $(tests_src)
|
||||
all_objs = $(call object_for,$(all_src))
|
||||
.SECONDARY: $(all_objs)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user