aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2007-02-04 11:44:10 +0000
committerSimon Tatham <anakin@pobox.com>2007-02-04 11:44:10 +0000
commitdd1cee7537c05830475a15dd26ef8bc777738bba (patch)
tree33d3237ceb52e9e374545dbb1662ae8821082031
parent215cf195770067f6639542c2f9588218e1ccd02b (diff)
downloadpuzzles-dd1cee7537c05830475a15dd26ef8bc777738bba.zip
puzzles-dd1cee7537c05830475a15dd26ef8bc777738bba.tar.gz
puzzles-dd1cee7537c05830475a15dd26ef8bc777738bba.tar.bz2
puzzles-dd1cee7537c05830475a15dd26ef8bc777738bba.tar.xz
Build script for Puzzles using bob. I've also added a piece of extra
infrastructure to the mkfiles.pl framework for the convenience of the build script: it generates `wingames.lst', a list of the Windows binaries which are ship-worthy games as opposed to nullgame or command-line auxiliary programs. [originally from svn r7206]
-rw-r--r--Buildscr77
-rw-r--r--blackbox.R4
-rw-r--r--bridges.R4
-rw-r--r--cube.R4
-rw-r--r--dominosa.R4
-rw-r--r--fifteen.R4
-rw-r--r--flip.R4
-rw-r--r--guess.R4
-rw-r--r--inertia.R4
-rw-r--r--lightup.R4
-rw-r--r--loopy.R4
-rwxr-xr-xmakedist.sh2
-rw-r--r--map.R4
-rw-r--r--mines.R4
-rw-r--r--net.R4
-rw-r--r--netslide.R4
-rw-r--r--pattern.R4
-rw-r--r--pegs.R4
-rw-r--r--rect.R4
-rw-r--r--samegame.R4
-rw-r--r--sixteen.R4
-rw-r--r--slant.R4
-rw-r--r--solo.R4
-rw-r--r--tents.R4
-rw-r--r--twiddle.R4
-rw-r--r--unequal.R4
-rw-r--r--untangle.R4
27 files changed, 178 insertions, 1 deletions
diff --git a/Buildscr b/Buildscr
new file mode 100644
index 0000000..5c555ae
--- /dev/null
+++ b/Buildscr
@@ -0,0 +1,77 @@
+# -*- sh -*-
+# Build script to build Puzzles.
+
+# First build some local binaries, to run the icon build.
+in puzzles do perl mkfiles.pl
+in puzzles do make
+
+# Now build the screenshots and icons.
+in puzzles/icons do xvfb-run make web winicons gtkicons
+
+# Destroy the local binaries, mostly to avoid wasting network
+# bandwidth by transferring them to the delegate servers.
+in puzzles do make clean
+
+# Build the OS X .dmg archive.
+delegate osx
+ in puzzles do make -f Makefile.osx clean
+ in puzzles do make -f Makefile.osx release
+ return puzzles/Puzzles.dmg
+enddelegate
+
+# Build the Windows binaries and the CHM file.
+in puzzles do make -f Makefile.doc clean
+in puzzles do make -f Makefile.doc chm
+delegate windows
+ # Ignore the poorly controlled return value from HHC, and instead
+ # just test that the output file was generated.
+ in puzzles do hhc puzzles.hhp; test -f puzzles.chm
+ # FIXME: Cygwin alternative?
+ in puzzles do cmd /c 'vcvars32 & nmake -f Makefile.vc clean'
+ in puzzles do cmd /c 'vcvars32 & nmake -f Makefile.vc'
+ return puzzles/puzzles.chm
+ return puzzles/*.exe
+enddelegate
+
+# Build the help file and the HTML docs.
+in puzzles do make -f Makefile.doc clean
+in puzzles do make -f Makefile.doc
+in puzzles do mkdir doc
+in puzzles do mkdir devel
+in puzzles/doc do halibut --html -Chtml-contents-filename:index.html -Chtml-index-filename:indexpage.html -Chtml-template-filename:%k.html -Chtml-template-fragment:%k ../puzzles.but
+in puzzles/devel do halibut --html -Chtml-contents-filename:index.html -Chtml-index-filename:indexpage.html -Chtml-template-filename:%k.html -Chtml-template-fragment:%k ../devel.but
+
+# Move the deliver-worthy Windows binaries (those specified in
+# wingames.lst, which is generated by mkfiles.pl and helpfully
+# excludes the command-line auxiliary utilities such as solosolver,
+# and nullgame.exe) into a subdirectory for easy access.
+in puzzles do mkdir winbin
+in puzzles do mv `cat wingames.lst` winbin
+
+# Make a zip file of the Windows binaries and help files.
+in puzzles do zip -j puzzles.zip winbin/*.exe puzzles.chm puzzles.hlp puzzles.cnt
+
+# Create the source archive. (That writes the archive into the
+# _parent_ directory, so be careful when we deliver it.)
+in puzzles do ./makedist.sh $(revision)
+
+# Set up .htaccess containing a redirect for the archive filename.
+in puzzles do echo "AddType application/octet-stream .chm" > .htaccess
+in puzzles do echo "AddType application/octet-stream .hlp" >> .htaccess
+in puzzles do echo "AddType application/octet-stream .cnt" >> .htaccess
+in puzzles do set -- puzzles*.tar.gz; echo RedirectMatch temp '(.*/)'puzzles.tar.gz '$$1'"$$1" >> .htaccess
+
+# Phew, we're done. Deliver everything!
+deliver puzzles/icons/*-web.png $@
+deliver puzzles/winbin/*.exe $@
+deliver puzzles/.htaccess $@
+deliver puzzles/doc/*.html doc/$@
+deliver puzzles/devel/*.html devel/$@
+deliver puzzles/Puzzles.dmg $@
+deliver puzzles/puzzles.chm $@
+deliver puzzles/puzzles.hlp $@
+deliver puzzles/puzzles.cnt $@
+deliver puzzles/puzzles.zip $@
+# This one isn't in the puzzles subdir, because makedist.sh left it
+# one level up.
+deliver puzzles*.tar.gz $@
diff --git a/blackbox.R b/blackbox.R
index 4235840..a561a7e 100644
--- a/blackbox.R
+++ b/blackbox.R
@@ -13,3 +13,7 @@ GAMES += blackbox
!begin >list.c
A(blackbox) \
!end
+
+!begin >wingames.lst
+blackbox.exe
+!end
diff --git a/bridges.R b/bridges.R
index 75b9731..f5e00f1 100644
--- a/bridges.R
+++ b/bridges.R
@@ -15,3 +15,7 @@ GAMES += bridges
!begin >list.c
A(bridges) \
!end
+
+!begin >wingames.lst
+bridges.exe
+!end
diff --git a/cube.R b/cube.R
index f08e000..7f080d6 100644
--- a/cube.R
+++ b/cube.R
@@ -13,3 +13,7 @@ GAMES += cube
!begin >list.c
A(cube) \
!end
+
+!begin >wingames.lst
+cube.exe
+!end
diff --git a/dominosa.R b/dominosa.R
index e243c43..a03071b 100644
--- a/dominosa.R
+++ b/dominosa.R
@@ -13,3 +13,7 @@ GAMES += dominosa
!begin >list.c
A(dominosa) \
!end
+
+!begin >wingames.lst
+dominosa.exe
+!end
diff --git a/fifteen.R b/fifteen.R
index a9e2108..0102c4e 100644
--- a/fifteen.R
+++ b/fifteen.R
@@ -13,3 +13,7 @@ GAMES += fifteen
!begin >list.c
A(fifteen) \
!end
+
+!begin >wingames.lst
+fifteen.exe
+!end
diff --git a/flip.R b/flip.R
index 40ca546..8e2aeea 100644
--- a/flip.R
+++ b/flip.R
@@ -15,3 +15,7 @@ GAMES += flip
!begin >list.c
A(flip) \
!end
+
+!begin >wingames.lst
+flip.exe
+!end
diff --git a/guess.R b/guess.R
index 0956e65..4336c3a 100644
--- a/guess.R
+++ b/guess.R
@@ -13,3 +13,7 @@ GAMES += guess
!begin >list.c
A(guess) \
!end
+
+!begin >wingames.lst
+guess.exe
+!end
diff --git a/inertia.R b/inertia.R
index 867484e..836e1fe 100644
--- a/inertia.R
+++ b/inertia.R
@@ -13,3 +13,7 @@ GAMES += inertia
!begin >list.c
A(inertia) \
!end
+
+!begin >wingames.lst
+inertia.exe
+!end
diff --git a/lightup.R b/lightup.R
index b4c4a3d..adaf19a 100644
--- a/lightup.R
+++ b/lightup.R
@@ -18,3 +18,7 @@ GAMES += lightup
!begin >list.c
A(lightup) \
!end
+
+!begin >wingames.lst
+lightup.exe
+!end
diff --git a/loopy.R b/loopy.R
index 1856d53..a2049fd 100644
--- a/loopy.R
+++ b/loopy.R
@@ -15,3 +15,7 @@ GAMES += loopy
!begin >list.c
A(loopy) \
!end
+
+!begin >wingames.lst
+loopy.exe
+!end
diff --git a/makedist.sh b/makedist.sh
index 4e695b6..7af8fbf 100755
--- a/makedist.sh
+++ b/makedist.sh
@@ -15,7 +15,7 @@ case "$#" in
if test "x$rev" = "xexported"; then rev=; fi
;;
*)
- case "$1" in *[!0-9]*) echo "Malformed revision number '$1'">&2;exit 1;;esac
+ case "$1" in *[!0-9M]*) echo "Malformed revision number '$1'">&2;exit 1;;esac
rev="$1"
;;
esac
diff --git a/map.R b/map.R
index 20e6706..80f8f4d 100644
--- a/map.R
+++ b/map.R
@@ -18,3 +18,7 @@ GAMES += map
!begin >list.c
A(map) \
!end
+
+!begin >wingames.lst
+map.exe
+!end
diff --git a/mines.R b/mines.R
index bc7e3a9..1758abc 100644
--- a/mines.R
+++ b/mines.R
@@ -18,3 +18,7 @@ GAMES += mines
!begin >list.c
A(mines) \
!end
+
+!begin >wingames.lst
+mines.exe
+!end
diff --git a/net.R b/net.R
index 5edddb5..266b7a6 100644
--- a/net.R
+++ b/net.R
@@ -17,3 +17,7 @@ GAMES += net
!begin >list.c
A(net) \
!end
+
+!begin >wingames.lst
+netgame.exe
+!end
diff --git a/netslide.R b/netslide.R
index b558de9..61a4293 100644
--- a/netslide.R
+++ b/netslide.R
@@ -15,3 +15,7 @@ GAMES += netslide
!begin >list.c
A(netslide) \
!end
+
+!begin >wingames.lst
+netslide.exe
+!end
diff --git a/pattern.R b/pattern.R
index 0b96d46..512e2cb 100644
--- a/pattern.R
+++ b/pattern.R
@@ -16,3 +16,7 @@ GAMES += pattern
!begin >list.c
A(pattern) \
!end
+
+!begin >wingames.lst
+pattern.exe
+!end
diff --git a/pegs.R b/pegs.R
index 97a1750..e5e080e 100644
--- a/pegs.R
+++ b/pegs.R
@@ -15,3 +15,7 @@ GAMES += pegs
!begin >list.c
A(pegs) \
!end
+
+!begin >wingames.lst
+pegs.exe
+!end
diff --git a/rect.R b/rect.R
index e050b40..3d4bf97 100644
--- a/rect.R
+++ b/rect.R
@@ -13,3 +13,7 @@ GAMES += rect
!begin >list.c
A(rect) \
!end
+
+!begin >wingames.lst
+rect.exe
+!end
diff --git a/samegame.R b/samegame.R
index fa1f2ca..44b94ba 100644
--- a/samegame.R
+++ b/samegame.R
@@ -13,3 +13,7 @@ GAMES += samegame
!begin >list.c
A(samegame) \
!end
+
+!begin >wingames.lst
+samegame.exe
+!end
diff --git a/sixteen.R b/sixteen.R
index 4a69961..c5e25cd 100644
--- a/sixteen.R
+++ b/sixteen.R
@@ -13,3 +13,7 @@ GAMES += sixteen
!begin >list.c
A(sixteen) \
!end
+
+!begin >wingames.lst
+sixteen.exe
+!end
diff --git a/slant.R b/slant.R
index b615a9f..f15b39e 100644
--- a/slant.R
+++ b/slant.R
@@ -18,3 +18,7 @@ GAMES += slant
!begin >list.c
A(slant) \
!end
+
+!begin >wingames.lst
+slant.exe
+!end
diff --git a/solo.R b/solo.R
index 126e338..7e1ff2a 100644
--- a/solo.R
+++ b/solo.R
@@ -16,3 +16,7 @@ GAMES += solo
!begin >list.c
A(solo) \
!end
+
+!begin >wingames.lst
+solo.exe
+!end
diff --git a/tents.R b/tents.R
index c875289..cee89ce 100644
--- a/tents.R
+++ b/tents.R
@@ -18,3 +18,7 @@ GAMES += tents
!begin >list.c
A(tents) \
!end
+
+!begin >wingames.lst
+tents.exe
+!end
diff --git a/twiddle.R b/twiddle.R
index 6b23df1..d0e841a 100644
--- a/twiddle.R
+++ b/twiddle.R
@@ -13,3 +13,7 @@ GAMES += twiddle
!begin >list.c
A(twiddle) \
!end
+
+!begin >wingames.lst
+twiddle.exe
+!end
diff --git a/unequal.R b/unequal.R
index d9bffd3..f40a5a7 100644
--- a/unequal.R
+++ b/unequal.R
@@ -21,3 +21,7 @@ GAMES += unequal
!begin >list.c
A(unequal) \
!end
+
+!begin >wingames.lst
+unequal.exe
+!end
diff --git a/untangle.R b/untangle.R
index fd74f31..4187cba 100644
--- a/untangle.R
+++ b/untangle.R
@@ -15,3 +15,7 @@ GAMES += untangle
!begin >list.c
A(untangle) \
!end
+
+!begin >wingames.lst
+untangle.exe
+!end