pymake/data.py
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.
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.
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.
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.
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.
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.
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!
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:
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.
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)
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!
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.
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.
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.
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:
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.
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.
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.
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.
325956fb47c1
created 2009-02-04 13:32 -0500
pushed 2009-02-04 18:47 +0000
Benjamin Smedberg Benjamin Smedberg - Basic pattern rules
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!
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.
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.
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.
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.
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.
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.
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.
39a719db34cc
created 2009-01-30 11:51 -0500
pushed 2009-01-30 20:28 +0000
Benjamin Smedberg Benjamin Smedberg - More tests
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)
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
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.
less more (0) tip