.SECONDEXPANSION:
-obfn1=/./.
+obfn1:=/./.
#obfn=$(obfn1)$(eval obfn1=$(patsubst /.//////%,/.//./%,$(subst /.//////,//./,$(obfn1)/)))
-define obfn
-$(obfn1)$(eval
-pr$(obfn1)=$1
-cmd$(obfn1)=$2
-obfn1=$(subst /.//////,//./,$(patsubst /.//////%,/././%,$(obfn1:.=/.)))
-)
-endef
+obfn=$(obfn1)$(eval pr$(obfn1)=$1)$(eval cmd$(obfn1)=$2)$(eval obfn1:=$(subst /.//////,//./,$(patsubst /.//////%,/././%,$(obfn1:.=/.))))
+#obfn=$(obfn1)$(eval pr=$1)$(eval cmd=$2)$(eval obfn1:=$(subst /.//////,//./,$(patsubst /.//////%,/././%,$(obfn1:.=/.))))
digits=0 1 2 3 4 5 6 7 8 9
%yx: $(foreach d,$(digits),%$dy)
%y: $$(call obfn,FORCE,$$$$(info Running $$@ $$$$@))
+#%y: $$(call obfn,,)
/./%: $$(pr$$@)
$(cmd$@)