QUIET_CMD_ECHO = echo ##################### # Build pseudo-pass # ##################### all: build-pseudo-pass rule_targets = $($(1)_targets) rule_deps = $($(1)_deps) rule_msg = $($(1)_msg) rule_cmd = $($(1)_cmd) # Usage: $(call build_rule,) define build_rule $(value rule_targets): $(value rule_deps) $(omk_inc_file) @$(QUIET_CMD_ECHO) " "$(rule_msg) "$$@" #"$$(call strip_out,$$@)" $(Q)$(value rule_cmd) endef # TODO: Include target.omk only in the subtree -include $(shell true; find $(USER_BUILD_DIR) -name '*omk.inc') # `true' is a hack for MinGW $(foreach rule,$(prepared_rules),$(eval $(call build_rule,$(rule)))) .PHONY: build-pseudo-pass build-pseudo-pass: $(foreach target,$(omk_goals),$(target))