diff options
| author | Simon Tatham <anakin@pobox.com> | 2007-02-04 11:44:10 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2007-02-04 11:44:10 +0000 |
| commit | dd1cee7537c05830475a15dd26ef8bc777738bba (patch) | |
| tree | 33d3237ceb52e9e374545dbb1662ae8821082031 | |
| parent | 215cf195770067f6639542c2f9588218e1ccd02b (diff) | |
| download | puzzles-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-- | Buildscr | 77 | ||||
| -rw-r--r-- | blackbox.R | 4 | ||||
| -rw-r--r-- | bridges.R | 4 | ||||
| -rw-r--r-- | cube.R | 4 | ||||
| -rw-r--r-- | dominosa.R | 4 | ||||
| -rw-r--r-- | fifteen.R | 4 | ||||
| -rw-r--r-- | flip.R | 4 | ||||
| -rw-r--r-- | guess.R | 4 | ||||
| -rw-r--r-- | inertia.R | 4 | ||||
| -rw-r--r-- | lightup.R | 4 | ||||
| -rw-r--r-- | loopy.R | 4 | ||||
| -rwxr-xr-x | makedist.sh | 2 | ||||
| -rw-r--r-- | map.R | 4 | ||||
| -rw-r--r-- | mines.R | 4 | ||||
| -rw-r--r-- | net.R | 4 | ||||
| -rw-r--r-- | netslide.R | 4 | ||||
| -rw-r--r-- | pattern.R | 4 | ||||
| -rw-r--r-- | pegs.R | 4 | ||||
| -rw-r--r-- | rect.R | 4 | ||||
| -rw-r--r-- | samegame.R | 4 | ||||
| -rw-r--r-- | sixteen.R | 4 | ||||
| -rw-r--r-- | slant.R | 4 | ||||
| -rw-r--r-- | solo.R | 4 | ||||
| -rw-r--r-- | tents.R | 4 | ||||
| -rw-r--r-- | twiddle.R | 4 | ||||
| -rw-r--r-- | unequal.R | 4 | ||||
| -rw-r--r-- | untangle.R | 4 |
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 $@ @@ -13,3 +13,7 @@ GAMES += blackbox !begin >list.c A(blackbox) \ !end + +!begin >wingames.lst +blackbox.exe +!end @@ -15,3 +15,7 @@ GAMES += bridges !begin >list.c A(bridges) \ !end + +!begin >wingames.lst +bridges.exe +!end @@ -13,3 +13,7 @@ GAMES += cube !begin >list.c A(cube) \ !end + +!begin >wingames.lst +cube.exe +!end @@ -13,3 +13,7 @@ GAMES += dominosa !begin >list.c A(dominosa) \ !end + +!begin >wingames.lst +dominosa.exe +!end @@ -13,3 +13,7 @@ GAMES += fifteen !begin >list.c A(fifteen) \ !end + +!begin >wingames.lst +fifteen.exe +!end @@ -15,3 +15,7 @@ GAMES += flip !begin >list.c A(flip) \ !end + +!begin >wingames.lst +flip.exe +!end @@ -13,3 +13,7 @@ GAMES += guess !begin >list.c A(guess) \ !end + +!begin >wingames.lst +guess.exe +!end @@ -13,3 +13,7 @@ GAMES += inertia !begin >list.c A(inertia) \ !end + +!begin >wingames.lst +inertia.exe +!end @@ -18,3 +18,7 @@ GAMES += lightup !begin >list.c A(lightup) \ !end + +!begin >wingames.lst +lightup.exe +!end @@ -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 @@ -18,3 +18,7 @@ GAMES += map !begin >list.c A(map) \ !end + +!begin >wingames.lst +map.exe +!end @@ -18,3 +18,7 @@ GAMES += mines !begin >list.c A(mines) \ !end + +!begin >wingames.lst +mines.exe +!end @@ -17,3 +17,7 @@ GAMES += net !begin >list.c A(net) \ !end + +!begin >wingames.lst +netgame.exe +!end @@ -15,3 +15,7 @@ GAMES += netslide !begin >list.c A(netslide) \ !end + +!begin >wingames.lst +netslide.exe +!end @@ -16,3 +16,7 @@ GAMES += pattern !begin >list.c A(pattern) \ !end + +!begin >wingames.lst +pattern.exe +!end @@ -15,3 +15,7 @@ GAMES += pegs !begin >list.c A(pegs) \ !end + +!begin >wingames.lst +pegs.exe +!end @@ -13,3 +13,7 @@ GAMES += rect !begin >list.c A(rect) \ !end + +!begin >wingames.lst +rect.exe +!end @@ -13,3 +13,7 @@ GAMES += samegame !begin >list.c A(samegame) \ !end + +!begin >wingames.lst +samegame.exe +!end @@ -13,3 +13,7 @@ GAMES += sixteen !begin >list.c A(sixteen) \ !end + +!begin >wingames.lst +sixteen.exe +!end @@ -18,3 +18,7 @@ GAMES += slant !begin >list.c A(slant) \ !end + +!begin >wingames.lst +slant.exe +!end @@ -16,3 +16,7 @@ GAMES += solo !begin >list.c A(solo) \ !end + +!begin >wingames.lst +solo.exe +!end @@ -18,3 +18,7 @@ GAMES += tents !begin >list.c A(tents) \ !end + +!begin >wingames.lst +tents.exe +!end @@ -13,3 +13,7 @@ GAMES += twiddle !begin >list.c A(twiddle) \ !end + +!begin >wingames.lst +twiddle.exe +!end @@ -21,3 +21,7 @@ GAMES += unequal !begin >list.c A(unequal) \ !end + +!begin >wingames.lst +unequal.exe +!end @@ -15,3 +15,7 @@ GAMES += untangle !begin >list.c A(untangle) \ !end + +!begin >wingames.lst +untangle.exe +!end |