Improve target metadata comments and implement $(bar@checked).
authorMatt McCutchen <hashproduct@gmail.com>
Mon, 11 Jun 2007 22:13:34 +0000 (18:13 -0400)
committerMatt McCutchen <hashproduct@gmail.com>
Mon, 11 Jun 2007 22:13:34 +0000 (18:13 -0400)
src/mage.mk

index d310c0d..658474d 100644 (file)
@@ -108,7 +108,7 @@ $(opfx)%: $$(empty) $$($$(oid)@opr)
 #     Generation command as given to the shell.*
 #
 # bar@warnings:=$(empty)yikes!
-#     Stuff the command printed to stdout or stderr.*
+#     Data that the command printed to stdout or stderr, presumably warnings.*
 #
 # bar@deps:=included@x oops@
 #     If dependency-logging, list of filename@revision used.  Revision is x for
@@ -123,9 +123,15 @@ $(opfx)%: $$(empty) $$($$(oid)@opr)
 # bar@gq:=foo $(mg-scout-oid)$(aname)bar
 #     $? from the rule for bar.g; used by the rule for bar.
 #
-# bar@uptodate:=1
-#     Set when Mage makes a file or depends on it being made.  Used to determine
-#     the next prerequisite to check for a dependency-logging command.
+# bar@checked:=1
+#     Set when Mage determines that a file is up to date or depends on it being
+#     so determined.  Used to decide which prerequisite to check next for a
+#     dependency-logging command.
+#
+# bar@dlc-ran:=1
+#     Indicates that Mage is in the middle of building bar using a dependency-
+#     logging command.  Means that bar.g.tmp, not bar.g, is the most current
+#     genfile.
 #
 ## If the rule for bar is overridden, we clear the information from bar.g so
 ## that it is as if bar.g didn't exist. -- Not currently needed
@@ -237,6 +243,7 @@ endef
 #     1. If there were warnings, replay them.  (HMMM To stderr?)
 # HMMM .tmp in displayed command looks ugly
 define mg-rule-cmd
+       $(foreach x,$@ $(mg+),$(eval $x@checked:=1))
        $(if $(filter $(mg-scout-oid)$(aname)$@,$($@@gq)),\
                $(info Mage: warning: Manually created/modified file at $@ overrides rule.)\
        ,$(call gload,$@)$(if $($@@gq)$(if $(wildcard $@),,x)$(mg-check-cmd),\