]> rtime.felk.cvut.cz Git - omk.git/blob - snippets/build
Devel test rules converted to snippets
[omk.git] / snippets / build
1
2 ##################### -*- makefile-gmake -*-
3 # Build pseudo-pass #
4 #####################
5 ifneq (,$(filter build,$(MAKECMDGOALS)))
6 all: build-pseudo-pass
7
8 rule_targets = $(value $(1)_targets)
9 rule_deps    = $(value $(1)_deps)
10 rule_msg     = $(value $(1)_msg)
11 rule_cmd     = $(value $(1)_cmd)
12
13 # Usage: $(eval $(call build_rule,<target>))
14 define build_rule
15 $(rule_targets): $(rule_deps) #$(omk_inc_file)
16         @$(QUIET_CMD_ECHO) "  "$(rule_msg)"$$@" #"$$(call strip_out,$$@)"
17         $(Q)$(rule_cmd)
18 endef
19
20 # TODO: Include __goals.omk.inc only in the subtree
21 -include $(shell true; find $(USER_BUILD_DIR) -name '*.omk.inc') # `true' is a hack for MinGW
22 # FIXME: Disable automatic remake of included files
23
24 $(foreach rule,$(prepared_rules),$(eval $(call build_rule,$(rule))))
25
26 .PHONY: build
27 build: $(foreach target,$(omk_goals),$(target))
28 endif # (,$(filter build,$(MAKECMDGOALS)))