shithub: puzzles

Download patch

ref: 43eafe1fdf356c0c1c88936ffa79c83291973b5d
parent: 1d661ec46b8d7216bc6f2e34a4d6b9cc9fdc6f96
author: Simon Tatham <[email protected]>
date: Sat Sep 13 15:17:26 EDT 2008

Change to the handling of -DCOMBINED in the makefiles. Instead of
defining it centrally per port, I think it's neater to define it for
each puzzle when adding that puzzle to the ALL list - because those
front ends which take -DCOMBINED are precisely those which use ALL.
In particular, this change opens up the possibility of compiling
both individual puzzles _and_ a combined monolith within the same
makefile.

[originally from svn r8178]

--- a/blackbox.R
+++ b/blackbox.R
@@ -4,7 +4,7 @@
 
 blackbox : [G] WINDOWS COMMON blackbox blackbox.res|noicon.res
 
-ALL += blackbox
+ALL += blackbox[COMBINED]
 
 !begin gtk
 GAMES += blackbox
--- a/bridges.R
+++ b/bridges.R
@@ -1,12 +1,12 @@
 # -*- makefile -*-
 
-BRIDGES  = bridges dsf
+BRIDGES_EXTRA = dsf
 
-bridges  : [X] GTK COMMON BRIDGES bridges-icon|no-icon
+bridges  : [X] GTK COMMON bridges BRIDGES_EXTRA bridges-icon|no-icon
 
-bridges  : [G] WINDOWS COMMON BRIDGES bridges.res|noicon.res
+bridges  : [G] WINDOWS COMMON bridges BRIDGES_EXTRA bridges.res|noicon.res
 
-ALL += BRIDGES
+ALL += bridges[COMBINED] BRIDGES_EXTRA
 
 !begin gtk
 GAMES += bridges
--- a/cube.R
+++ b/cube.R
@@ -4,7 +4,7 @@
 
 cube     : [G] WINDOWS COMMON cube cube.res|noicon.res
 
-ALL += cube
+ALL += cube[COMBINED]
 
 !begin gtk
 GAMES += cube
--- a/dominosa.R
+++ b/dominosa.R
@@ -4,7 +4,7 @@
 
 dominosa : [G] WINDOWS COMMON dominosa dominosa.res|noicon.res
 
-ALL += dominosa
+ALL += dominosa[COMBINED]
 
 !begin gtk
 GAMES += dominosa
--- a/fifteen.R
+++ b/fifteen.R
@@ -4,7 +4,7 @@
 
 fifteen  : [G] WINDOWS COMMON fifteen fifteen.res|noicon.res
 
-ALL += fifteen
+ALL += fifteen[COMBINED]
 
 !begin gtk
 GAMES += fifteen
--- a/filling.R
+++ b/filling.R
@@ -1,15 +1,15 @@
 # -*- makefile -*-
 
-FILLING = filling dsf
+FILLING_EXTRA = dsf
 
-fillingsolver :	[U] filling[STANDALONE_SOLVER] dsf STANDALONE
-fillingsolver :	[C] filling[STANDALONE_SOLVER] dsf STANDALONE
+fillingsolver :	[U] filling[STANDALONE_SOLVER] FILLING_EXTRA STANDALONE
+fillingsolver :	[C] filling[STANDALONE_SOLVER] FILLING_EXTRA STANDALONE
 
-filling : [X] GTK COMMON FILLING filling-icon|no-icon
+filling : [X] GTK COMMON filling FILLING_EXTRA filling-icon|no-icon
 
-filling : [G] WINDOWS COMMON FILLING filling.res|noicon.res
+filling : [G] WINDOWS COMMON filling FILLING_EXTRA filling.res|noicon.res
 
-ALL += filling
+ALL += filling[COMBINED] FILLING_EXTRA
 
 !begin gtk
 GAMES += filling
--- a/flip.R
+++ b/flip.R
@@ -1,12 +1,12 @@
 # -*- makefile -*-
 
-FLIP     = flip tree234
+FLIP_EXTRA = tree234
 
-flip     : [X] GTK COMMON FLIP flip-icon|no-icon
+flip     : [X] GTK COMMON flip FLIP_EXTRA flip-icon|no-icon
 
-flip     : [G] WINDOWS COMMON FLIP flip.res|noicon.res
+flip     : [G] WINDOWS COMMON flip FLIP_EXTRA flip.res|noicon.res
 
-ALL += FLIP
+ALL += flip[COMBINED] FLIP_EXTRA
 
 !begin gtk
 GAMES += flip
--- a/galaxies.R
+++ b/galaxies.R
@@ -1,19 +1,19 @@
 # -*- makefile -*-
 
-GALAXIES = galaxies dsf
+GALAXIES_EXTRA = dsf
 
-galaxies : [X] GTK COMMON GALAXIES galaxies-icon|no-icon
+galaxies : [X] GTK COMMON galaxies GALAXIES_EXTRA galaxies-icon|no-icon
 
-galaxies : [G] WINDOWS COMMON GALAXIES galaxies.res|noicon.res
+galaxies : [G] WINDOWS COMMON galaxies GALAXIES_EXTRA galaxies.res|noicon.res
 
-galaxiessolver : [U] galaxies[STANDALONE_SOLVER] dsf STANDALONE m.lib
-galaxiessolver : [C] galaxies[STANDALONE_SOLVER] dsf STANDALONE
+galaxiessolver : [U] galaxies[STANDALONE_SOLVER] GALAXIES_EXTRA STANDALONE m.lib
+galaxiessolver : [C] galaxies[STANDALONE_SOLVER] GALAXIES_EXTRA STANDALONE
 
-galaxiespicture : [U] galaxies[STANDALONE_PICTURE_GENERATOR] dsf STANDALONE
+galaxiespicture : [U] galaxies[STANDALONE_PICTURE_GENERATOR] GALAXIES_EXTRA STANDALONE
                 + m.lib
-galaxiespicture : [C] galaxies[STANDALONE_PICTURE_GENERATOR] dsf STANDALONE
+galaxiespicture : [C] galaxies[STANDALONE_PICTURE_GENERATOR] GALAXIES_EXTRA STANDALONE
 
-ALL += galaxies
+ALL += galaxies[COMBINED] GALAXIES_EXTRA
 
 !begin gtk
 GAMES += galaxies
--- a/guess.R
+++ b/guess.R
@@ -4,7 +4,7 @@
 
 guess    : [G] WINDOWS COMMON guess guess.res|noicon.res
 
-ALL += guess
+ALL += guess[COMBINED]
 
 !begin gtk
 GAMES += guess
--- a/inertia.R
+++ b/inertia.R
@@ -4,7 +4,7 @@
 
 inertia  : [G] WINDOWS COMMON inertia inertia.res|noicon.res
 
-ALL += inertia
+ALL += inertia[COMBINED]
 
 !begin gtk
 GAMES += inertia
--- a/lightup.R
+++ b/lightup.R
@@ -1,15 +1,15 @@
 # -*- makefile -*-
 
-LIGHTUP  = lightup combi
+LIGHTUP_EXTRA = combi
 
-lightup  : [X] GTK COMMON LIGHTUP lightup-icon|no-icon
+lightup  : [X] GTK COMMON lightup LIGHTUP_EXTRA lightup-icon|no-icon
 
-lightup  : [G] WINDOWS COMMON LIGHTUP lightup.res|noicon.res
+lightup  : [G] WINDOWS COMMON lightup LIGHTUP_EXTRA lightup.res|noicon.res
 
-lightupsolver : [U] lightup[STANDALONE_SOLVER] combi STANDALONE
-lightupsolver : [C] lightup[STANDALONE_SOLVER] combi STANDALONE
+lightupsolver : [U] lightup[STANDALONE_SOLVER] LIGHTUP_EXTRA STANDALONE
+lightupsolver : [C] lightup[STANDALONE_SOLVER] LIGHTUP_EXTRA STANDALONE
 
-ALL += LIGHTUP
+ALL += lightup[COMBINED] LIGHTUP_EXTRA
 
 !begin gtk
 GAMES += lightup
--- a/loopy.R
+++ b/loopy.R
@@ -1,12 +1,12 @@
 # -*- makefile -*-
 
-LOOPY     = loopy tree234 dsf grid
+LOOPY_EXTRA = tree234 dsf grid
 
-loopy     : [X] GTK COMMON LOOPY loopy-icon|no-icon
+loopy     : [X] GTK COMMON loopy LOOPY_EXTRA loopy-icon|no-icon
 
-loopy     : [G] WINDOWS COMMON LOOPY loopy.res|noicon.res
+loopy     : [G] WINDOWS COMMON loopy LOOPY_EXTRA loopy.res|noicon.res
 
-ALL += LOOPY
+ALL += loopy[COMBINED] LOOPY_EXTRA
 
 !begin gtk
 GAMES += loopy
--- a/map.R
+++ b/map.R
@@ -1,15 +1,15 @@
 # -*- makefile -*-
 
-MAP      = map dsf
+MAP_EXTRA = dsf
 
-map      : [X] GTK COMMON MAP map-icon|no-icon
+map      : [X] GTK COMMON map MAP_EXTRA map-icon|no-icon
 
-map      : [G] WINDOWS COMMON MAP map.res|noicon.res
+map      : [G] WINDOWS COMMON map MAP_EXTRA map.res|noicon.res
 
-mapsolver :     [U] map[STANDALONE_SOLVER] dsf STANDALONE m.lib
-mapsolver :     [C] map[STANDALONE_SOLVER] dsf STANDALONE
+mapsolver :     [U] map[STANDALONE_SOLVER] MAP_EXTRA STANDALONE m.lib
+mapsolver :     [C] map[STANDALONE_SOLVER] MAP_EXTRA STANDALONE
 
-ALL += MAP
+ALL += map[COMBINED] MAP_EXTRA
 
 !begin gtk
 GAMES += map
--- a/mines.R
+++ b/mines.R
@@ -1,15 +1,15 @@
 # -*- makefile -*-
 
-MINES    = mines tree234
+MINES_EXTRA = tree234
 
-mines    : [X] GTK COMMON MINES mines-icon|no-icon
+mines    : [X] GTK COMMON mines MINES_EXTRA mines-icon|no-icon
 
-mines    : [G] WINDOWS COMMON MINES mines.res|noicon.res
+mines    : [G] WINDOWS COMMON mines MINES_EXTRA mines.res|noicon.res
 
-mineobfusc :    [U] mines[STANDALONE_OBFUSCATOR] tree234 STANDALONE
-mineobfusc :    [C] mines[STANDALONE_OBFUSCATOR] tree234 STANDALONE
+mineobfusc :    [U] mines[STANDALONE_OBFUSCATOR] MINES_EXTRA STANDALONE
+mineobfusc :    [C] mines[STANDALONE_OBFUSCATOR] MINES_EXTRA STANDALONE
 
-ALL += MINES
+ALL += mines[COMBINED] MINES_EXTRA
 
 !begin gtk
 GAMES += mines
--- a/net.R
+++ b/net.R
@@ -1,14 +1,14 @@
 # -*- makefile -*-
 
-NET      = net tree234 dsf
+NET_EXTRA = tree234 dsf
 
-net      : [X] GTK COMMON NET net-icon|no-icon
+net      : [X] GTK COMMON net NET_EXTRA net-icon|no-icon
 
 # The Windows Net shouldn't be called `net.exe' since Windows
 # already has a reasonably important utility program by that name!
-netgame  : [G] WINDOWS COMMON NET net.res|noicon.res
+netgame  : [G] WINDOWS COMMON net NET_EXTRA net.res|noicon.res
 
-ALL += NET
+ALL += net[COMBINED] NET_EXTRA
 
 !begin gtk
 GAMES += net
--- a/netslide.R
+++ b/netslide.R
@@ -1,12 +1,12 @@
 # -*- makefile -*-
 
-NETSLIDE = netslide tree234
+NETSLIDE_EXTRA = tree234
 
-netslide : [X] GTK COMMON NETSLIDE netslide-icon|no-icon
+netslide : [X] GTK COMMON netslide NETSLIDE_EXTRA netslide-icon|no-icon
 
-netslide : [G] WINDOWS COMMON NETSLIDE netslide.res|noicon.res
+netslide : [G] WINDOWS COMMON netslide NETSLIDE_EXTRA netslide.res|noicon.res
 
-ALL += NETSLIDE
+ALL += netslide[COMBINED] NETSLIDE_EXTRA
 
 !begin gtk
 GAMES += netslide
--- a/osx.m
+++ b/osx.m
@@ -77,6 +77,8 @@
  *    recreate it.
  */
 
+#define COMBINED /* we put all the puzzles in one binary in this port */
+
 #include <ctype.h>
 #include <sys/time.h>
 #import <Cocoa/Cocoa.h>
--- a/pattern.R
+++ b/pattern.R
@@ -7,7 +7,7 @@
 patternsolver : [U] pattern[STANDALONE_SOLVER] STANDALONE
 patternsolver : [C] pattern[STANDALONE_SOLVER] STANDALONE
 
-ALL += pattern
+ALL += pattern[COMBINED]
 
 !begin gtk
 GAMES += pattern
--- a/pegs.R
+++ b/pegs.R
@@ -1,12 +1,12 @@
 # -*- makefile -*-
 
-PEGS     = pegs tree234
+PEGS_EXTRA = tree234
 
-pegs     : [X] GTK COMMON PEGS pegs-icon|no-icon
+pegs     : [X] GTK COMMON pegs PEGS_EXTRA pegs-icon|no-icon
 
-pegs     : [G] WINDOWS COMMON PEGS pegs.res|noicon.res
+pegs     : [G] WINDOWS COMMON pegs PEGS_EXTRA pegs.res|noicon.res
 
-ALL += PEGS
+ALL += pegs[COMBINED] PEGS_EXTRA
 
 !begin gtk
 GAMES += pegs
--- a/rect.R
+++ b/rect.R
@@ -4,7 +4,7 @@
 
 rect     : [G] WINDOWS COMMON rect rect.res|noicon.res
 
-ALL += rect
+ALL += rect[COMBINED]
 
 !begin gtk
 GAMES += rect
--- a/samegame.R
+++ b/samegame.R
@@ -4,7 +4,7 @@
 
 samegame : [G] WINDOWS COMMON samegame samegame.res|noicon.res
 
-ALL += samegame
+ALL += samegame[COMBINED]
 
 !begin gtk
 GAMES += samegame
--- a/sixteen.R
+++ b/sixteen.R
@@ -4,7 +4,7 @@
 
 sixteen  : [G] WINDOWS COMMON sixteen sixteen.res|noicon.res
 
-ALL += sixteen
+ALL += sixteen[COMBINED]
 
 !begin gtk
 GAMES += sixteen
--- a/slant.R
+++ b/slant.R
@@ -1,15 +1,15 @@
 # -*- makefile -*-
 
-SLANT    = slant dsf
+SLANT_EXTRA = dsf
 
-slant    : [X] GTK COMMON SLANT slant-icon|no-icon
+slant    : [X] GTK COMMON slant SLANT_EXTRA slant-icon|no-icon
 
-slant    : [G] WINDOWS COMMON SLANT slant.res|noicon.res
+slant    : [G] WINDOWS COMMON slant SLANT_EXTRA slant.res|noicon.res
 
-slantsolver :   [U] slant[STANDALONE_SOLVER] dsf STANDALONE
-slantsolver :   [C] slant[STANDALONE_SOLVER] dsf STANDALONE
+slantsolver :   [U] slant[STANDALONE_SOLVER] SLANT_EXTRA STANDALONE
+slantsolver :   [C] slant[STANDALONE_SOLVER] SLANT_EXTRA STANDALONE
 
-ALL += SLANT
+ALL += slant[COMBINED] SLANT_EXTRA
 
 !begin gtk
 GAMES += slant
--- a/solo.R
+++ b/solo.R
@@ -1,15 +1,15 @@
 # -*- makefile -*-
 
-SOLO     = solo divvy dsf
+SOLO_EXTRA = divvy dsf
 
-solo     : [X] GTK COMMON SOLO solo-icon|no-icon
+solo     : [X] GTK COMMON solo SOLO_EXTRA solo-icon|no-icon
 
-solo     : [G] WINDOWS COMMON SOLO solo.res|noicon.res
+solo     : [G] WINDOWS COMMON solo SOLO_EXTRA solo.res|noicon.res
 
-solosolver :    [U] solo[STANDALONE_SOLVER] divvy dsf STANDALONE
-solosolver :    [C] solo[STANDALONE_SOLVER] divvy dsf STANDALONE
+solosolver :    [U] solo[STANDALONE_SOLVER] SOLO_EXTRA STANDALONE
+solosolver :    [C] solo[STANDALONE_SOLVER] SOLO_EXTRA STANDALONE
 
-ALL += SOLO
+ALL += solo[COMBINED] SOLO_EXTRA
 
 !begin gtk
 GAMES += solo
--- a/tents.R
+++ b/tents.R
@@ -1,15 +1,15 @@
 # -*- makefile -*-
 
-TENTS    = tents maxflow
+TENTS_EXTRA = maxflow
 
-tents    : [X] GTK COMMON TENTS tents-icon|no-icon
+tents    : [X] GTK COMMON tents TENTS_EXTRA tents-icon|no-icon
 
-tents    : [G] WINDOWS COMMON TENTS tents.res|noicon.res
+tents    : [G] WINDOWS COMMON tents TENTS_EXTRA tents.res|noicon.res
 
-ALL += TENTS
+ALL += tents[COMBINED] TENTS_EXTRA
 
-tentssolver :   [U] tents[STANDALONE_SOLVER] maxflow STANDALONE
-tentssolver :   [C] tents[STANDALONE_SOLVER] maxflow STANDALONE
+tentssolver :   [U] tents[STANDALONE_SOLVER] TENTS_EXTRA STANDALONE
+tentssolver :   [C] tents[STANDALONE_SOLVER] TENTS_EXTRA STANDALONE
 
 !begin gtk
 GAMES += tents
--- a/twiddle.R
+++ b/twiddle.R
@@ -4,7 +4,7 @@
 
 twiddle  : [G] WINDOWS COMMON twiddle twiddle.res|noicon.res
 
-ALL += twiddle
+ALL += twiddle[COMBINED]
 
 !begin gtk
 GAMES += twiddle
--- a/unequal.R
+++ b/unequal.R
@@ -1,10 +1,10 @@
 # -*- makefile -*-
 
-UNEQUAL  = unequal latin tree234 maxflow
+UNEQUAL_EXTRA = latin tree234 maxflow
 
-unequal  : [X] GTK COMMON UNEQUAL unequal-icon|no-icon
+unequal  : [X] GTK COMMON unequal UNEQUAL_EXTRA unequal-icon|no-icon
 
-unequal  : [G] WINDOWS COMMON UNEQUAL unequal.res|noicon.res
+unequal  : [G] WINDOWS COMMON unequal UNEQUAL_EXTRA unequal.res|noicon.res
 
 unequalsolver : [U] unequal[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] tree234 maxflow STANDALONE
 unequalsolver : [C] unequal[STANDALONE_SOLVER] latin[STANDALONE_SOLVER] tree234 maxflow STANDALONE
@@ -12,7 +12,7 @@
 latincheck : [U] latin[STANDALONE_LATIN_TEST] tree234 maxflow STANDALONE
 latincheck : [C] latin[STANDALONE_LATIN_TEST] tree234 maxflow STANDALONE
 
-ALL += UNEQUAL
+ALL += unequal[COMBINED] UNEQUAL_EXTRA
 
 !begin gtk
 GAMES += unequal
--- a/untangle.R
+++ b/untangle.R
@@ -1,12 +1,12 @@
 # -*- makefile -*-
 
-UNTANGLE = untangle tree234
+UNTANGLE_EXTRA = tree234
 
-untangle : [X] GTK COMMON UNTANGLE untangle-icon|no-icon
+untangle : [X] GTK COMMON untangle UNTANGLE_EXTRA untangle-icon|no-icon
 
-untangle : [G] WINDOWS COMMON UNTANGLE untangle.res|noicon.res
+untangle : [G] WINDOWS COMMON untangle UNTANGLE_EXTRA untangle.res|noicon.res
 
-ALL += UNTANGLE
+ALL += untangle[COMBINED] UNTANGLE_EXTRA
 
 !begin gtk
 GAMES += untangle