diff options
| author | Simon Tatham <anakin@pobox.com> | 2006-08-05 17:20:29 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2006-08-05 17:20:29 +0000 |
| commit | cf880225edb1b6a5cb27dec01ba54c61822788f2 (patch) | |
| tree | 9f01b0c0b35023619044a5e08e69e3978fe6e5cd /devel.but | |
| parent | f05c25347d66821d928668a7e87dffbf3ffed027 (diff) | |
| download | puzzles-cf880225edb1b6a5cb27dec01ba54c61822788f2.zip puzzles-cf880225edb1b6a5cb27dec01ba54c61822788f2.tar.gz puzzles-cf880225edb1b6a5cb27dec01ba54c61822788f2.tar.bz2 puzzles-cf880225edb1b6a5cb27dec01ba54c61822788f2.tar.xz | |
I'm sick of repeatedly adding and removing local changes to Recipe
when testing a new game, so here's a new architecture for the Recipe
file. mkfiles.pl now supports several new features:
- an `!include' directive, which accepts wildcards
- += to append to an existing object group definition
- the ability to divert output to an arbitrary file.
So now each puzzle has a `.R' file containing a fragment of Recipe
code describing that puzzle, and the central Recipe does `!include
*.R' to construct the Makefiles. That way, I can keep as many
experimental half-finished puzzles lying around my working directory
as I like, and I won't have to keep reverting Recipe when I check in
any other changes.
As part of this change, list.c is no longer a version-controlled
file; it's now constructed by mkfiles.pl, so that it too can take
advantage of this mechanism.
[originally from svn r6781]
Diffstat (limited to 'devel.but')
| -rw-r--r-- | devel.but | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -193,7 +193,9 @@ end module builds a different puzzle. \b On platforms such as MacOS X and PalmOS, which build all the puzzles into a single monolithic binary, the game structure in each back end must have a different name, and there's a helper module -\c{list.c} which contains a complete list of those game structures. +\c{list.c} (constructed automatically by the same Perl script that +builds the \cw{Makefile}s) which contains a complete list of those +game structures. On the latter type of platform, source files may assume that the preprocessor symbol \c{COMBINED} has been defined. Thus, the usual @@ -2916,9 +2918,10 @@ base), then there will be two global variables defined: \c extern const int gamecount; \c{gamelist} will be an array of \c{gamecount} game structures, -declared in the source module \c{list.c}. The application should -search that array for the game it wants, probably by reaching into -each game structure and looking at its \c{name} field. +declared in the automatically constructed source module \c{list.c}. +The application should search that array for the game it wants, +probably by reaching into each game structure and looking at its +\c{name} field. } |