7950a2d51eda46ac6f48e567eca11e8e7254d8e9: * The parsing of functions depends on their argument count: once the last argument has been reached, any commas are included in the argument, rather than starting a new argument. Some functions have variable or unlimited argument counts, so this is slightly complicated
Benjamin Smedberg <benjamin@smedbergs.us> - Wed, 11 Feb 2009 10:35:34 -0500 - rev 92
Push 49 by bsmedberg@mozilla.com at Wed, 11 Feb 2009 15:35:47 +0000
* The parsing of functions depends on their argument count: once the last argument has been reached, any commas are included in the argument, rather than starting a new argument. Some functions have variable or unlimited argument counts, so this is slightly complicated * Testcase for a rule with no targets * implement +-@ prefixes for commands to properly ignore failing commands (+ doesn't actually do anything yet, since parallel make isn't yet) * minor fixups for invocation and MAKEFLAGS
3a4d76dcfbc1b194b445901ab615ac82746c7bc6: More fixes found while building Mozilla:
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 22:31:52 -0500 - rev 91
Push 48 by bsmedberg@mozilla.com at Wed, 11 Feb 2009 03:32:02 +0000
More fixes found while building Mozilla: * rules can have no prerequisites.. in this case we just throw the rule away * double-colon rules needed love * default verbosity should be warning, not debug ;-)
510ec41867cca3b6604dc2f16382024bd536e17f: * Fix infinite-recursion during expansion of variables issue. `setting` has to be a list, not a single variable name
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 20:21:30 -0500 - rev 90
Push 48 by bsmedberg@mozilla.com at Wed, 11 Feb 2009 03:32:02 +0000
* Fix infinite-recursion during expansion of variables issue. `setting` has to be a list, not a single variable name * Fix the behavior of pattern.match for non-patterns I found both of these issues while actually trying to compile Mozilla with pymake. That is very exciting.
e4edf197af9eea08da53ce2e04bf0ae1fa3fa93f: Implement $(MAKE) $(MAKELEVEL), override, $(MAKEFLAGS).
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 17:06:52 -0500 - rev 89
Push 47 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 22:07:02 +0000
Implement $(MAKE) $(MAKELEVEL), override, $(MAKEFLAGS). I think that actually MAKEFLAGS is subtly wrong here, if there is a -- in the explicit command line as well. But since that doesn't happen much, I'll leave it for later.
facf7de96123fcd3ceb7b8ce08b903939b42512a: Initial framework for exporting variables. This doesn't actually export them, because I haven't decided how much I want to deal with pulling variables from the environment.
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 15:34:38 -0500 - rev 88
Push 46 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 20:34:48 +0000
Initial framework for exporting variables. This doesn't actually export them, because I haven't decided how much I want to deal with pulling variables from the environment.
0b004bb11184fea0ded1a47116b56ae25ede84e2: Implement -C on the command line. Long-term I'd like to avoid the chdir and instead keep track of the cwd on the makefile. That involves passing extra state down to function resolution, so for now do the easy thing.
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 15:33:47 -0500 - rev 87
Push 46 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 20:34:48 +0000
Implement -C on the command line. Long-term I'd like to avoid the chdir and instead keep track of the cwd on the makefile. That involves passing extra state down to function resolution, so for now do the easy thing.
137e13723669b8498327c20a5404a9ddef6f20c8: Implement $(origin) and indicate that $(eval) is not implemented. I believe this to be all the functions.
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 14:57:57 -0500 - rev 86
Push 45 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 19:58:06 +0000
Implement $(origin) and indicate that $(eval) is not implemented. I believe this to be all the functions.
5be7dd3fcdae232a73a5f52265a6050c0be98fc9: Implement $(foreach) and $(call)
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 14:38:45 -0500 - rev 85
Push 45 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 19:58:06 +0000
Implement $(foreach) and $(call)
a45b51a2a0a6cc090c9c61c0ecb51e53a79b2ceb: Implement control-flow functions $(if) $(and) $(or)
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 14:12:09 -0500 - rev 84
Push 44 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 19:12:19 +0000
Implement control-flow functions $(if) $(and) $(or)
efafa9452cd2e087cb25a6188e694e591f282690: Implement $(wildcard). Wrote tests for the remaining functions that were already implemented and found/fixed a few bugs.
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 13:59:14 -0500 - rev 83
Push 44 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 19:12:19 +0000
Implement $(wildcard). Wrote tests for the remaining functions that were already implemented and found/fixed a few bugs.
73c97ee518797d9acdb1aeb5a2cbc4899abb3a1e: Implement $(join), $(realpath), $(abspath) and $(CURDIR)
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 13:18:50 -0500 - rev 82
Push 43 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 18:18:59 +0000
Implement $(join), $(realpath), $(abspath) and $(CURDIR)
ea64e7e4bb3c8ae36f76a1b7b5c87113f49304ef: $(addprefix) and $(addsuffix)
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 12:10:45 -0500 - rev 81
Push 43 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 18:18:59 +0000
$(addprefix) and $(addsuffix)
474b11cf02430c73856ea8ad80067e38509e8ccb: $(suffix) and $(basename) are hard due to weird whitespace issues
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 12:06:26 -0500 - rev 80
Push 43 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 18:18:59 +0000
$(suffix) and $(basename) are hard due to weird whitespace issues
2b377534d9fda5a9c9067abcb4280a46cad23c83: A bevy of functions. Also simplified the function setup() since all the functions just call expectargs.
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 11:54:01 -0500 - rev 79
Push 43 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 18:18:59 +0000
A bevy of functions. Also simplified the function setup() since all the functions just call expectargs.
b6cacff1e1f3f437cc19c261a5b672b3e626e2fc: .getloc(None) should be the location of the end of the string, for now, since that's what parsemakesyntax gives back if you read to EOF
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 11:32:21 -0500 - rev 78
Push 43 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 18:18:59 +0000
.getloc(None) should be the location of the end of the string, for now, since that's what parsemakesyntax gives back if you read to EOF
9477937f4a4bf961ae6ec8c8edd5713fcfbd7c5f: Implement $(warning) and $(info)
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 11:31:46 -0500 - rev 77
Push 43 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 18:18:59 +0000
Implement $(warning) and $(info)
8163fd9c64284c34cb39d26548a2d87ca8a74f55: Implement MAKE_RESTARTS
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 11:31:31 -0500 - rev 76
Push 43 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 18:18:59 +0000
Implement MAKE_RESTARTS
e4d4c5c8d23af8340a8aba6119dc1d40ad0e89aa: Implement ?=
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 11:13:44 -0500 - rev 75
Push 42 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 16:18:16 +0000
Implement ?=
aae6f068303c0e2efcdca30b962326fee97a240f: Don't remake any target more than once.
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 09:56:31 -0500 - rev 74
Push 42 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 16:18:16 +0000
Don't remake any target more than once.
2aed4b1eb9cb281f60144743bc298a27bfde6035: Make includes rebuild include files when necessary.
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 10 Feb 2009 09:50:42 -0500 - rev 73
Push 42 by bsmedberg@mozilla.com at Tue, 10 Feb 2009 16:18:16 +0000
Make includes rebuild include files when necessary.
(0) -50 -20 +20 +50 +100 tip