7df5ab3b364fac50aea2c025d3a973801ca7670e
2009-02-18 17:27 -0500
Benjamin Smedberg - Skip the shell when there aren't any special metacharacters to worry about.
f20d24d3c1069c8f700cc43fed20b6e6eeee04b8
2009-02-18 15:30 -0500
Benjamin Smedberg - Revert debugging code that was accidentally committed.
2d1c99f936f2a35904ffea1e1239281551663864
2009-02-18 15:23 -0500
Benjamin Smedberg - Factor out command execution a bit in preparation for recursive-make-within-one-process.
67dc20b5210fd5dd636ca306af51f81d280ae5d1
2009-02-18 12:05 -0500
Benjamin Smedberg - Unify command execution in regular and pattern rules.
bc238aefc4d9405820d8f429534f2c86f2cf66dd
2009-02-18 09:43 -0500
Benjamin Smedberg - Implement -C without actually issuing an os.chdir. This is preparation for same-process recursion.
450813b7b94a3b8f964efe88d80d9b136ffbf81b
2009-02-17 21:02 -0500
Benjamin Smedberg - Implement --no-print-directory, and log $(shell) execution... turns out that NSS uses $(shell $(MAKE) --no-print-directory echo-some-variable) and really expects not to have complete control over the output, which is terrifying.
a080d25e64a6e3e7ab45fe7bed69b45e56ca5db7
2009-02-17 19:28 -0500
Benjamin Smedberg - Don't try to regenerate included makefiles which would always be rebuilt.
51a1e6e5e804fbe8a28722b33adaf9ec31bce339
2009-02-17 15:30 -0500
Benjamin Smedberg - When the target of a double-colon rule is present and there are no prerequisites listed, we always remake the target. For a single-colon rule, we never remake the target. This little but important behavior difference eluded me!
c8a5d22af41742f79b2df1f56503e60a0d51829c
2009-02-17 15:05 -0500
Benjamin Smedberg - More non-evaluation of conditionals when they can't be active.
2545f3385285f5c19aec1cb0aae72658c8970229
2009-02-17 15:02 -0500
Benjamin Smedberg - Don't evaluate conditionals if they are initialized in an inactive conditional context.
17169ca68e03996bb02d6707789659d1fae7df23
2009-02-17 14:46 -0500
Benjamin Smedberg - Implement automatic wildcard expansion in targets and prerequisites. I hate this, but NSS uses it, and I hate NSS more.
1995f94b1c2f5af8477e04ff511e68b7ee1589b8
2009-02-17 14:06 -0500
Benjamin Smedberg - Implement the vpath directive.
ace16e634043b802ea75c0bd682a2ab12be5d08a
2009-02-17 10:46 -0500
Benjamin Smedberg - Implement $(eval) during first-phase parsing.
0d43efb31b378c9fb3b364a764f95ac4b62461e5
2009-02-14 21:15 -0500
Benjamin Smedberg - Pass the makefile while expanding expansions and functions. This is preparation for implementing $(eval) and eliminating chdir(), which is a prerequisite for running recursive make in a single process.
680f9674f48b31d83f4f2996c1a6fb4b0d4e00d8
2009-02-13 14:31 -0500
Ted Mielczarek - some basic support for running under MSYS on win32 win32-msys
7cbb1d53440854a0be1f82928ae84b24fb4f34c7
2009-02-13 13:00 -0500
Benjamin Smedberg - Ignore .pyo files.
8426df94a2054713288a9f93dab30c08cdc4584d
2009-02-13 13:00 -0500
Benjamin Smedberg - Add README
9ff6065d262ddb313e16b0facbff1edadb97b1ee
2009-02-13 11:17 -0500
Benjamin Smedberg - Parser performance is better, but still not fabulous. I'm going to call this release 0.1, though, since it's basically usable.
9778193b02cf4b736d28b7e45cd9fb4f3c0036a4
2009-02-13 11:16 -0500
Benjamin Smedberg - Make MAKEFLAGS more compatible with gmake usage, and add a --debug-log option
e308b8e36c260cc5cb2103515a7146893fe1656a
2009-02-13 09:50 -0500
Benjamin Smedberg - Use regular expressions for findtoken as well... shaves another 20% off parsing time, but parsing is still the long pole by far. parser-perf
df9087ec3e089c3f5126999731d6b40cd1cc318f
2009-02-13 09:11 -0500
Benjamin Smedberg - Attempt to improve parser performance: rather than iterating one character at a time, move the token-finding code into the iterator functions and use regular expressions to find all the tokens at once. I'm not sure this is a win, but I'm saving it for testing on my other machine. parser-perf
33c6baf451b8ff7e34f1fc9317c2c61151c95365
2009-02-12 17:41 -0500
Benjamin Smedberg - Add an option to profile the parsing step, which is where we're currently spending the vast majority of our time.
8f414e9cd252d7c84becee307e6dba1dd0b42c8c
2009-02-12 16:38 -0500
Benjamin Smedberg - Record parse and execution times.
0e1d287af7c6c0160544be4a93b6293a46cde4cb
2009-02-12 16:03 -0500
Benjamin Smedberg - Better locations for command execution notices.
fcb2f68e9a9556104ca14757ab8eba577eb7dc7d
2009-02-12 15:52 -0500
Benjamin Smedberg - Fix a bug: newlines in the result of $(shell) should be converted to spaces.
4e7723f8588b2a0c918fd8932a2c8e839e159d8e
2009-02-12 15:00 -0500
Benjamin Smedberg - When a target contains a slash, a pattern rule can match directly *or* without the dirname.
a7a2fc544d28ce23977b83704cee6ef9b66ad9b6
2009-02-12 14:49 -0500
Benjamin Smedberg - Merge parsertest fixup.
73c411d4afde1dec9ad4435ce0047836341148ec
2009-02-12 14:49 -0500
Benjamin Smedberg - Fix parser test due to API change from revision 510ec41867cc (setting as a list with a default [], instead of a single name without a default).
1a5a35701f9388d9d3216f01c21cc565a3d2ff11
2009-02-12 14:46 -0500
Benjamin Smedberg - Fix static pattern stems... argh, I never wrote a passing test for static patterns, only a failing test. Dumb dumb dumb.
b60ef841a8113faefe5d31a713988d91743a74c2
2009-02-12 13:11 -0500
Benjamin Smedberg - Performance and correctness fix:
f19e091ae2d821a1cba379a88ce96a6c93c25931
2009-02-12 11:21 -0500
Benjamin Smedberg - regex is overkill, we can use simple string manipulation and save a fair bit of time
1685c0669a0c167ee8a37bfd14849c0a74e4b39b
2009-02-12 10:39 -0500
Benjamin Smedberg - Don't create locations for each iterated character... most of the time we don't use them, and they're easy to recreate from the data+offset. This is a significant performance boost.
ce89bcf91bf6b611b2e396413a786c5d5a922d37
2009-02-12 09:36 -0500
Benjamin Smedberg - Two bug fixes:
e6333645779e797e73cc784b67f8b401c03ed845
2009-02-11 17:16 -0500
Benjamin Smedberg - Be more lenient about -lfoo prerequisites because we were trying to use implicit rules to remake them. I should probably solve this in resolvedeps, but for now this is easier.
355911d6160a76b4dd4bfdfec300d75f2cd645e8
2009-02-11 17:11 -0500
Benjamin Smedberg - Support searching -lfoo for library dependencies.
ba5f4e0dfe9d2d9af521e0db3aa8ad623546479a
2009-02-11 16:44 -0500
Benjamin Smedberg - An oddly-small change with big ramifications: resolve dependencies "late", instead of "early". It turns out lots of real-world makefiles depend on this behavior. This makes me very sad, but for the moment let's go with the flow. In the future we'll have pan-tree deps and can revisit!
d31336e2accf4770dcdb0710719e24b9ef9ed929
2009-02-11 16:08 -0500
Benjamin Smedberg - Allow ${expansion} in addition to $(expansion).
699803fc5647083d8f7fe5ce68c58235c96f1c15
2009-02-11 16:01 -0500
Benjamin Smedberg - The rest of the automatic variables.
cf2972d950b7c7c0de1ad0cc5316fc7b01ff467d
2009-02-11 14:52 -0500
Benjamin Smedberg - Implement better logging for match-anything rules, and test that they apply correctly.
24687637a4a8233b4a75f0d73f47066d3a9b181f
2009-02-11 11:44 -0500
Benjamin Smedberg - Fix up remnants of incompatible -v command-line option.
c6223e135ac65bc958eb19189ff49ad7b895cd45
2009-02-11 11:44 -0500
Benjamin Smedberg - Within ifdefs we still need to honor line continuations.
7950a2d51eda46ac6f48e567eca11e8e7254d8e9
2009-02-11 10:35 -0500
Benjamin Smedberg - * 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
3a4d76dcfbc1b194b445901ab615ac82746c7bc6
2009-02-10 22:31 -0500
Benjamin Smedberg - More fixes found while building Mozilla:
510ec41867cca3b6604dc2f16382024bd536e17f
2009-02-10 20:21 -0500
Benjamin Smedberg - * Fix infinite-recursion during expansion of variables issue. `setting` has to be a list, not a single variable name
e4edf197af9eea08da53ce2e04bf0ae1fa3fa93f
2009-02-10 17:06 -0500
Benjamin Smedberg - Implement $(MAKE) $(MAKELEVEL), override, $(MAKEFLAGS).
facf7de96123fcd3ceb7b8ce08b903939b42512a
2009-02-10 15:34 -0500
Benjamin Smedberg - 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
2009-02-10 15:33 -0500
Benjamin Smedberg - 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
2009-02-10 14:57 -0500
Benjamin Smedberg - Implement $(origin) and indicate that $(eval) is not implemented. I believe this to be all the functions.
5be7dd3fcdae232a73a5f52265a6050c0be98fc9
2009-02-10 14:38 -0500
Benjamin Smedberg - Implement $(foreach) and $(call)
a45b51a2a0a6cc090c9c61c0ecb51e53a79b2ceb
2009-02-10 14:12 -0500
Benjamin Smedberg - Implement control-flow functions $(if) $(and) $(or)
efafa9452cd2e087cb25a6188e694e591f282690
2009-02-10 13:59 -0500
Benjamin Smedberg - Implement $(wildcard). Wrote tests for the remaining functions that were already implemented and found/fixed a few bugs.
73c97ee518797d9acdb1aeb5a2cbc4899abb3a1e
2009-02-10 13:18 -0500
Benjamin Smedberg - Implement $(join), $(realpath), $(abspath) and $(CURDIR)
ea64e7e4bb3c8ae36f76a1b7b5c87113f49304ef
2009-02-10 12:10 -0500
Benjamin Smedberg - $(addprefix) and $(addsuffix)
474b11cf02430c73856ea8ad80067e38509e8ccb
2009-02-10 12:06 -0500
Benjamin Smedberg - $(suffix) and $(basename) are hard due to weird whitespace issues
2b377534d9fda5a9c9067abcb4280a46cad23c83
2009-02-10 11:54 -0500
Benjamin Smedberg - A bevy of functions. Also simplified the function setup() since all the functions just call expectargs.
b6cacff1e1f3f437cc19c261a5b672b3e626e2fc
2009-02-10 11:32 -0500
Benjamin Smedberg - .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
2009-02-10 11:31 -0500
Benjamin Smedberg - Implement $(warning) and $(info)
8163fd9c64284c34cb39d26548a2d87ca8a74f55
2009-02-10 11:31 -0500
Benjamin Smedberg - Implement MAKE_RESTARTS
e4d4c5c8d23af8340a8aba6119dc1d40ad0e89aa
2009-02-10 11:13 -0500
Benjamin Smedberg - Implement ?=
aae6f068303c0e2efcdca30b962326fee97a240f
2009-02-10 09:56 -0500
Benjamin Smedberg - Don't remake any target more than once.
(0) -100 -60 +60 +100 tip