diff browse annotate |
63531e755f52 created 2009-02-09 16:45 -0500 pushed 2009-02-09 21:45 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Significant reworking of how variables are parsed and stored. They are now stored as strings, instead of Expansion objects. Recursively-expanded variables are parsed at the time they are expanded. This coupling between the data model and the parser is ridiculous, but compatible. |
diff browse annotate |
e3b7241989d1 created 2009-02-07 21:19 -0500 pushed 2009-02-08 02:19 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Fix VPATH correctly (before we remake) when actually remaking things. |
diff browse annotate |
6ea25c18adfb created 2009-02-07 17:12 -0500 pushed 2009-02-08 02:19 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Implement VPATH... this needs additional testing, especially for the remake case. |
diff browse annotate |
b4b8dc6c503b created 2009-02-07 14:20 -0500 pushed 2009-02-07 19:20 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Implement the rules for matching implicit rules against files with directories. |
diff browse annotate |
4aef5fbe7d4a created 2009-02-06 16:54 -0500 pushed 2009-02-06 21:54 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Simple chaining works. Not sure how much I care about really complex chaining scenarios with multiple targets, although (knock on wood) those should work too. |
diff browse annotate |
33ec07baae05 created 2009-02-06 16:35 -0500 pushed 2009-02-06 21:54 +0000 |
Benjamin Smedberg | Benjamin Smedberg - I think I may have implemented implicit rules. I'm pretty sure that a single level works, but I'm not sure about chaining... more tests to be written. |
diff browse annotate |
10277ab28e31 created 2009-02-06 15:28 -0500 pushed 2009-02-06 20:29 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Implement the 'define' directive. The edge cases and parsing rules for define are, once again, ridiculous. I never thought I would yearn for heredoc syntax! |
diff browse annotate |
8c332a8bae92 created 2009-02-06 13:51 -0500 pushed 2009-02-06 20:29 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Two-part change. I should have done these separately but forgot to commit after the first change: |
diff browse annotate |
b083ab48a8eb created 2009-02-06 10:16 -0500 pushed 2009-02-06 15:16 +0000 |
Benjamin Smedberg | Benjamin Smedberg - * Implement the $(shell) command so that dependency test cases can be set up effectively. |
diff browse annotate |
f1e67b0fcf5d created 2009-02-06 09:15 -0500 pushed 2009-02-06 14:15 +0000 |
Benjamin Smedberg | Benjamin Smedberg - If you ignore implicit rules and order-only prerequisites, I think this might actually work! I'm not especially confident in the dependency calculations, though: I need to write some tests for that, which probably involves implementing $(shell) |
diff browse annotate |
b8be4f91e866 created 2009-02-05 17:01 -0500 pushed 2009-02-05 22:02 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Small mis-indents mean big pain for patsubst! |
diff browse annotate |
d66eaa34960d created 2009-02-05 16:28 -0500 pushed 2009-02-05 21:29 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Or... actually fix target-specific variables. |
diff browse annotate |
650679bb3c0e created 2009-02-05 16:24 -0500 pushed 2009-02-05 21:24 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Pattern-specific variable assignments, and test fixup from the last commit. |
diff browse annotate |
084bcc01b996 created 2009-02-05 15:06 -0500 pushed 2009-02-05 20:06 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Move the functions into their own file... they're only going to get bigger. |
diff browse annotate |
f945469861a5 created 2009-02-05 14:15 -0500 pushed 2009-02-05 20:06 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Fixes the simple testsuite/make.py problems: |
diff browse annotate |
15ca82d0ba63 created 2009-02-05 13:55 -0500 pushed 2009-02-05 20:06 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Woohoo. Some of the real-world testsuite passes. Of course there are many errors also. |
diff browse annotate |
039f6139ada0 created 2009-02-05 11:17 -0500 pushed 2009-02-05 16:33 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Beginnings of vpath framework and actual need-to-rebuild calculations. |
diff browse annotate |
64ff72956fd7 created 2009-02-05 10:06 -0500 pushed 2009-02-05 15:06 +0000 |
Benjamin Smedberg | Benjamin Smedberg - We can resolve very basic dependencies now. No implicit or static-pattern rules yet, since the rules for those are really weird. |
diff browse annotate |
a77dcdc9a3fe created 2009-02-04 15:17 -0500 pushed 2009-02-04 20:17 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Start parsing from the command line. Of course we don't actually *execute* anything yet, we are just parsing. |
diff browse annotate |
325956fb47c1 created 2009-02-04 13:32 -0500 pushed 2009-02-04 18:47 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Basic pattern rules |
diff browse annotate |
5f4a31d7d5e7 created 2009-02-04 12:06 -0500 pushed 2009-02-04 17:10 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Tests are wonderful. So is working code. Now we have both! |
diff browse annotate |
69c931017474 created 2009-02-04 11:16 -0500 pushed 2009-02-04 17:10 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Refactor setvariable a little bit to avoid constant re-parsing when setting multiple target-specific or pattern-specific variables. |
diff browse annotate |
396b616dffd0 created 2009-02-04 10:52 -0500 pushed 2009-02-04 15:53 +0000 |
Benjamin Smedberg | Benjamin Smedberg - This might be enough for simple rules, but I haven't tried it or written any tests yet. Need to checkpoint before hacking pattern-specific variables, which are undocumented, kinda cool, and tricky. |
diff browse annotate |
7e2b7a360cbf created 2009-02-03 16:21 -0500 pushed 2009-02-03 21:21 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Pattern parsing is rocket science. This magic is unified in the data.Pattern class, although I don't know exactly how this is going to fit together with rules and targets yet. |
diff browse annotate |
1a360cf3a18d created 2009-02-02 21:15 -0500 pushed 2009-02-03 02:18 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Variable references work! At least the most-basic ones. |
diff browse annotate |
1159b78fb8a6 created 2009-02-02 15:34 -0500 pushed 2009-02-02 21:07 +0000 |
Benjamin Smedberg | Benjamin Smedberg - This appears, at first glance, to actually parse functions and variable substitutions correctly. That's really awesome, even more so because I have unit tests. |
diff browse annotate |
f51509ce7b08 created 2009-02-02 13:39 -0500 pushed 2009-02-02 21:07 +0000 |
Benjamin Smedberg | Benjamin Smedberg - The data model is fleshing out a bit, in service of the parser. |
diff browse annotate |
33eb1c16caea created 2009-01-31 13:39 -0500 pushed 2009-01-31 18:39 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Beginnings of a parser, with unit tests. |
diff browse annotate |
39a719db34cc created 2009-01-30 11:51 -0500 pushed 2009-01-30 20:28 +0000 |
Benjamin Smedberg | Benjamin Smedberg - More tests |
diff browse annotate |
8d28bd53484b created 2009-01-24 11:02 -0500 pushed 2009-01-24 16:12 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Implement the flavor function (entirely untested) |
diff browse annotate |
c0b0fd711b1e created 2009-01-23 17:23 -0500 pushed 2009-01-23 22:23 +0000 |
Benjamin Smedberg | Benjamin Smedberg - This might be enough data to pass the two test suites... except of course we actually need the functions. In any case, on to the parsing for a bit |
diff browse annotate |
f5ab154deef2 created 2009-01-16 16:17 -0500 pushed 2009-01-16 21:18 +0000 |
Benjamin Smedberg | Benjamin Smedberg - Very early cut at a data model for parsing makefiles. |