Rewrite the Mage basics, temporarily removing the dependency-logging command
[mgear/mgear.git] / experiments / prereq-predict.mk
CommitLineData
ff59f3cf
MM
1.SECONDEXPANSION:
2
3#dir/x.foo:
4
5#ding=$(@:.foo=.bar)
6#
7#%.foo: $$(info got here) /./proc/self/cwd/$$(ding)
8# echo "Prerequisites: $^"
9#
10#%.bar:
11# echo "We want $@"
12
13# $(call save-and-use,/,prereqs)
14#save-and-use=$(eval $@=$(if $1,$2,$(foreach p,$2,$(dir $@)$p)))$2
15
16pr1=$(info in pr1, $$@ is $@)$(eval $@@gdeps:=$(subst %,$*,$1))$1
17pr2=$(info in pr2, $$@ is $@)$(eval $@@gdeps:=$(addprefix $(dir $@),$(subst %,$*,$1)))$1
18
19FORCE:
20
21define define-rule
22$(eval
23$1: $(if $(findstring /,$1),$$$$(call pr1,$2),$$$$(call pr2,$2)) FORCE
24 $$(info +++ $$$$^ is $$^, gdeps is $$($$@@gdeps))
25)
26endef
27
28$(call define-rule,%.foo,%.bar)
29
30x/%.bar:
31 $(info +++ Making $@)
32