mgear/mgear.git
16 years agoUpdate materials for building rsync with mgear. master
Matt McCutchen [Thu, 25 Oct 2007 02:54:02 +0000 (22:54 -0400)]
Update materials for building rsync with mgear.

16 years ago- Add Makefile.in for building rsync with mgear. Yay!
Matt McCutchen [Thu, 14 Jun 2007 02:40:26 +0000 (22:40 -0400)]
- Add Makefile.in for building rsync with mgear.  Yay!
- Note that the Makefile for bigint is out of date.

16 years agoChanges necessary and proper to get mgear to build rsync:
Matt McCutchen [Thu, 14 Jun 2007 02:11:41 +0000 (22:11 -0400)]
Changes necessary and proper to get mgear to build rsync:
- $(mg-define-rule) now takes the name of the variable holding the command
  instead of the command itself.  This generally saves the user a $(value).
- I changed my mind again: $@ in a command is translated to the temp file rather
  than the eventual target.
- Handle commas in commands better.
- Enforce that all files are secondary.

16 years ago- Reuse $(@cmd) instead of accumulating $(foo@cmd). Reduces memory and may help
Matt McCutchen [Thu, 14 Jun 2007 01:10:50 +0000 (21:10 -0400)]
- Reuse $(@cmd) instead of accumulating $(foo@cmd).  Reduces memory and may help
  when multiple files have the same basename.
- Get tough on undefined variables.
- Remove redundant build log printing in the test suite.

16 years agoAdd implementation, demo and tests for `make clean'.
Matt McCutchen [Wed, 13 Jun 2007 22:36:55 +0000 (18:36 -0400)]
Add implementation, demo and tests for `make clean'.

16 years agoUpdate symlink (mage to mgear) in demo zone.
Matt McCutchen [Wed, 13 Jun 2007 21:31:35 +0000 (17:31 -0400)]
Update symlink (mage to mgear) in demo zone.

16 years agoRename Mage to mgear, a less common and thus less confusable name.
Matt McCutchen [Wed, 13 Jun 2007 20:08:32 +0000 (16:08 -0400)]
Rename Mage to mgear, a less common and thus less confusable name.

16 years agoAdd a testsuite (./testsuite) and dependency-logging command stuff that doesn't
Matt McCutchen [Wed, 13 Jun 2007 01:31:06 +0000 (21:31 -0400)]
Add a testsuite (./testsuite) and dependency-logging command stuff that doesn't
do anything yet, make a bunch of minor improvements, and move mage.mk to the top
level of the Mage tree.

16 years agoAdd make1 -> env - make -R, whose -p output is easier to read.
Matt McCutchen [Mon, 11 Jun 2007 22:14:25 +0000 (18:14 -0400)]
Add make1 -> env - make -R, whose -p output is easier to read.

16 years agoImprove target metadata comments and implement $(bar@checked).
Matt McCutchen [Mon, 11 Jun 2007 22:13:34 +0000 (18:13 -0400)]
Improve target metadata comments and implement $(bar@checked).

16 years agoRewrite the Mage basics, temporarily removing the dependency-logging command
Matt McCutchen [Mon, 11 Jun 2007 21:42:14 +0000 (17:42 -0400)]
Rewrite the Mage basics, temporarily removing the dependency-logging command
stuff.  Now, all the processing happens in bar and bar.g is just an obfuscated
target that checks for changed prerequisites.  Added a bunch of comments; read
them for details.

16 years ago- Revise and comment target metadata variables.
Matt McCutchen [Fri, 8 Jun 2007 19:05:21 +0000 (15:05 -0400)]
- Revise and comment target metadata variables.
- Add the beginning of mg-define-rule-dlc .

16 years ago- Change some /./ to $(opfx).
Matt McCutchen [Fri, 8 Jun 2007 19:02:52 +0000 (15:02 -0400)]
- Change some /./ to $(opfx).
- Rename scout-oid -> mg-scout-oid.  I'm planning to name all variables/functions
  specific to Mage (as opposed to one of its sub-libraries) beginning with mg- .
- Fix name mg-rule in comment for mg-define-rule.

16 years ago- Factor out `%: %.g' rule as mg-file-from-genfile .
Matt McCutchen [Fri, 8 Jun 2007 18:29:23 +0000 (14:29 -0400)]
- Factor out `%: %.g' rule as mg-file-from-genfile .
- Add comment about applicability of mg-define-prereq .

16 years ago- Add a full target obfuscation factory and rule and a comment explaining them.
Matt McCutchen [Mon, 4 Jun 2007 17:18:08 +0000 (13:18 -0400)]
- Add a full target obfuscation factory and rule and a comment explaining them.
- Change target scouting to use the new target obfuscation system.
- Add an obfuscated target to demo/Makefile that is silly but does test the
  system.
- Change obfuscation-dump.mk back to normal after performance testing.

16 years agoWe don't actually need MG-FORCE-TARGET-DNE any more.
Matt McCutchen [Mon, 4 Jun 2007 16:26:14 +0000 (12:26 -0400)]
We don't actually need MG-FORCE-TARGET-DNE any more.

16 years agoMade a bunch of cleanups/improvements, including:
Matt McCutchen [Mon, 4 Jun 2007 05:42:45 +0000 (01:42 -0400)]
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.

16 years agoMore experimentation with obfuscation. Wondering why it is slow.
Matt McCutchen [Sun, 3 Jun 2007 13:45:01 +0000 (09:45 -0400)]
More experimentation with obfuscation.  Wondering why it is slow.
Evidently all the stat calls are the bottleneck.  That makes me
wonder whether there is a way to get make to think a file was
explicitly named as an alternative to using a file that exists.

16 years agoMore experimentation with the dependency logging features of cpp and xsltproc.
Matt McCutchen [Sun, 3 Jun 2007 13:43:13 +0000 (09:43 -0400)]
More experimentation with the dependency logging features of cpp and xsltproc.

17 years agoAdd test of directory relative to which Make looks for included makefiles.
Matt McCutchen [Sun, 22 Apr 2007 19:53:08 +0000 (15:53 -0400)]
Add test of directory relative to which Make looks for included makefiles.

17 years agoHere's what I have so far related to the Mage build tool.
Matt McCutchen [Sun, 22 Apr 2007 19:26:24 +0000 (15:26 -0400)]
Here's what I have so far related to the Mage build tool.