ref: b10be2b32adc91e3d51117aeac8a75e59271d941
parent: 2040ff96317be6b93ca459c44bfea5d775a18692
author: Simon Tatham <anakin@pobox.com>
date: Mon Jan 24 07:09:51 EST 2005
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]
--- a/Recipe
+++ b/Recipe
@@ -41,8 +41,11 @@
# Mac OS X unified application containing all the puzzles.
Puzzles : [MX] osx osx.icns osx-info.plist COMMON ALL
# 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
+CFLAGS += -DCOMBINED
Puzzles_extra = Puzzles.app/Contents/Resources/Help/index.html
Puzzles.app/Contents/Resources/Help/index.html: \
Puzzles.app/Contents/Resources/Help puzzles.but
--- a/mkfiles.pl
+++ b/mkfiles.pl
@@ -1128,7 +1128,7 @@
"CC = \$(TOOLPATH)gcc\n".
"\n".
- &splitline("CFLAGS = -O2 -Wall -Werror -g -DMAC_OS_X " .
+ &splitline("CFLAGS = -O2 -Wall -Werror -g " .
(join " ", map {"-I$dirpfx$_"} @srcdirs))."\n".
"LDFLAGS = -framework Cocoa\n".
&splitline("all:" . join "", map { " $_" } &progrealnames("MX")) .
--- a/puzzles.h
+++ b/puzzles.h
@@ -200,14 +200,6 @@
};
/*
- * 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
* like the above, under a fixed name. For all-at-once platforms,
* there's a list of all available puzzles in array form.