Made a bunch of cleanups/improvements, including:
authorMatt McCutchen <hashproduct@gmail.com>
Mon, 4 Jun 2007 05:42:45 +0000 (01:42 -0400)
committerMatt McCutchen <hashproduct@gmail.com>
Mon, 4 Jun 2007 16:36:30 +0000 (12:36 -0400)
commitac64c802d8c1d6bfe58ffd2584e3b3ef37aa4d89
tree132484119333f903ac1a938991a240a529299972
parent80ef83c31f694bde42e3652c89d9edc1aabd7cd7
Made a bunch of cleanups/improvements, including:

- Changed some variable/function names.  mg-rule -> mg-define-rule.  (Changed
  demo to match.)  Changed Mage target variables: cmd-foo.o -> foo.o@cmd.
- Took out exit code replay because it introduced lots of complexity for little
  benefit.
- Changed scouted target from abspath to /./proc/self/cwd format.  This fits
  with the planned target obfuscation system but isn't so portable; I'll
  reconsider later.
- Massively refactored mg-commands -> mg-generate so that it's understandable.
- FORCEd *.g rules and moved a bunch of processing from second-expansion to the
  command script.  This way the processing only runs if make actually uses the
  rule (not just second-expanding anyway or implicit rule searching).
- Detection of command change for implicit rules was broken because evidently
  only the prereqs given with the command take effect.  I moved all the prereqs
  to the same line but then the new command was evaluated too early to see the
  automatic variables with the user-specified prereqs.  Moving the command check
  into the command script fixed it.
- Put more complete title and Web site at the top.

I have been preparing to add the dependency-logging command support, which is
going to be dauntingly complicated.  I wanted to nail down the basics first.
demo/Makefile
src/mage.mk