The #definition of COMBINED was done very badly: it was a piece of

platform-dependent code in puzzles.h (ick), which in turn depended
on the magic symbol MAC_OS_X being defined by mkfiles.pl itself
(yuck). Suddenly realised I can do much better simply by putting it
in an OS X makefile extras section in Recipe, and removing both
previous hacks. Much nicer.

[originally from svn r5191]
This commit is contained in:
Simon Tatham
2005-01-24 12:09:51 +00:00
parent 2040ff9631
commit b10be2b32a
3 changed files with 5 additions and 10 deletions

5
Recipe
View File

@ -41,8 +41,11 @@ pattern : [G] WINDOWS COMMON pattern
# Mac OS X unified application containing all the puzzles. # Mac OS X unified application containing all the puzzles.
Puzzles : [MX] osx osx.icns osx-info.plist COMMON ALL Puzzles : [MX] osx osx.icns osx-info.plist COMMON ALL
# For OS X, we must create the online help and include it in the # For OS X, we must create the online help and include it in the
# application bundle.) # application bundle.) Also we add -DCOMBINED to the compiler flags
# so as to inform the code that we're building a single binary for
# all the puzzles.
!begin osx !begin osx
CFLAGS += -DCOMBINED
Puzzles_extra = Puzzles.app/Contents/Resources/Help/index.html Puzzles_extra = Puzzles.app/Contents/Resources/Help/index.html
Puzzles.app/Contents/Resources/Help/index.html: \ Puzzles.app/Contents/Resources/Help/index.html: \
Puzzles.app/Contents/Resources/Help puzzles.but Puzzles.app/Contents/Resources/Help puzzles.but

View File

@ -1128,7 +1128,7 @@ if (defined $makefiles{'osx'}) {
print print
"CC = \$(TOOLPATH)gcc\n". "CC = \$(TOOLPATH)gcc\n".
"\n". "\n".
&splitline("CFLAGS = -O2 -Wall -Werror -g -DMAC_OS_X " . &splitline("CFLAGS = -O2 -Wall -Werror -g " .
(join " ", map {"-I$dirpfx$_"} @srcdirs))."\n". (join " ", map {"-I$dirpfx$_"} @srcdirs))."\n".
"LDFLAGS = -framework Cocoa\n". "LDFLAGS = -framework Cocoa\n".
&splitline("all:" . join "", map { " $_" } &progrealnames("MX")) . &splitline("all:" . join "", map { " $_" } &progrealnames("MX")) .

View File

@ -199,14 +199,6 @@ struct game {
int (*wants_statusbar)(void); int (*wants_statusbar)(void);
}; };
/*
* Here we include the knowledge of which platforms are of which
* type.
*/
#ifdef MAC_OS_X /* this must be defined in the OS X Makefile */
#define COMBINED
#endif
/* /*
* For one-game-at-a-time platforms, there's a single structure * For one-game-at-a-time platforms, there's a single structure
* like the above, under a fixed name. For all-at-once platforms, * like the above, under a fixed name. For all-at-once platforms,