+# $(call mg-rule,target,static prerequisites,cmd,[dep converter])
+# Defines a rule with a dependency-logging command.
+# I haven't decided on the format for the dep converter yet.
+dlc-static-run-oid:=$(newoid)
+define mg-define-rule-dlc
+$(eval
+
+# Copied stuff from mg-define-rule to modify as necessary
+
+## Define some target-specific variables.
+## It might look like we could use $*, but $1 most likely isn't %.
+#$1.g: target = $$(@:.g=)
+#$1.g: cmd = $(call mg-translate-cmd,$3)
+#$1.g: mg@ = $$(target).tmp
+#$1.g: mg^ = $$(filter-out MG-% /./%,$$^)
+#$1.g: mg+ = $$(filter-out MG-% /./%,$$+)
+#$1.g: mg< = $$(firstword $$(mg^))
+
+#
+$1.g: MG-FORCE | $$$$(dlc-first-run-oid)$$$$(aname)$1.g $$$$(call dlc-setup-tgt,$(newoid))
+
+## Rule for the genfile. Evidently all the prerequisites we want second-expanded
+## have to go on the same rule.
+#$1.g: $2 $$$$(mg-scout-target) MG-FORCE
+# $$(mg-generate)
+
+
+$(mg-file-from-genfile)
+)
+endef
+
+define dlc-setup-tgt
+$(eval
+
+)$1
+endef
+