summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Matt McCutchen [Thu, 25 Oct 2007 02:54:02 +0000 (22:54 -0400)]
Update materials for building rsync with mgear.
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.
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.
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.
Matt McCutchen [Wed, 13 Jun 2007 22:36:55 +0000 (18:36 -0400)]
Add implementation, demo and tests for `make clean'.
Matt McCutchen [Wed, 13 Jun 2007 21:31:35 +0000 (17:31 -0400)]
Update symlink (mage to mgear) in demo zone.
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.
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.
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.
Matt McCutchen [Mon, 11 Jun 2007 22:13:34 +0000 (18:13 -0400)]
Improve target metadata comments and implement $(bar@checked).
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.
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 .
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.
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 .
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.
Matt McCutchen [Mon, 4 Jun 2007 16:26:14 +0000 (12:26 -0400)]
We don't actually need MG-FORCE-TARGET-DNE any more.
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.
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.
Matt McCutchen [Sun, 3 Jun 2007 13:43:13 +0000 (09:43 -0400)]
More experimentation with the dependency logging features of cpp and xsltproc.
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.
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.