aboutsummaryrefslogtreecommitdiff
path: root/devel.but
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2006-08-05 17:20:29 +0000
committerSimon Tatham <anakin@pobox.com>2006-08-05 17:20:29 +0000
commitcf880225edb1b6a5cb27dec01ba54c61822788f2 (patch)
tree9f01b0c0b35023619044a5e08e69e3978fe6e5cd /devel.but
parentf05c25347d66821d928668a7e87dffbf3ffed027 (diff)
downloadpuzzles-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.but11
1 files changed, 7 insertions, 4 deletions
diff --git a/devel.but b/devel.but
index 3d5f6d0..09f006c 100644
--- a/devel.but
+++ b/devel.but
@@ -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.
}