The #definition of COMBINED was done very badly: it was a piece of
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Mon, 24 Jan 2005 12:09:51 +0000 (12:09 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Mon, 24 Jan 2005 12:09:51 +0000 (12:09 +0000)
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.

git-svn-id: svn://svn.tartarus.org/sgt/puzzles@5191 cda61777-01e9-0310-a592-d414129be87e

Recipe
mkfiles.pl
puzzles.h

diff --git a/Recipe b/Recipe
index fa1a78f..6c4d302 100644 (file)
--- a/Recipe
+++ b/Recipe
@@ -41,8 +41,11 @@ pattern  : [G] WINDOWS COMMON pattern
 # 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
index aa257ed..8f3c7cf 100755 (executable)
@@ -1128,7 +1128,7 @@ if (defined $makefiles{'osx'}) {
     print
     "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")) .
index d0882e3..4de81a7 100644 (file)
--- a/puzzles.h
+++ b/puzzles.h
@@ -200,14 +200,6 @@ struct game {
 };
 
 /*
- * 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.