3 # Build a Unix source distribution from the Puzzles SVN area.
5 # Pass a numeric argument to have the archive tagged as that SVN
6 # revision. Otherwise, the script will work it out itself by
7 # calling `svnversion', or failing that it will not version-tag the
12 # Ignore errors; if we can't get a version, we'll have a blank
14 rev=`svnversion . 2>/dev/null`
15 if test "x$rev" = "xexported"; then rev=; fi
18 case "$1" in *[!0-9M]*) echo "Malformed revision number '$1'">&2;exit 1;;esac
23 if test "x$rev" != "x"; then
34 mkdir tmp.$$
/puzzles
$arcsuffix
35 mkdir tmp.$$
/puzzles
$arcsuffix/icons
37 # Build Windows Help and text versions of the manual for convenience.
38 halibut
--winhelp=puzzles.hlp
--text=puzzles.txt puzzles.but
40 # Build a text version of the HACKING document.
41 halibut
--text=HACKING devel.but
43 for i
in *.c
*.m
*.h
*.R
*.rc
*.but
*.plist
*.icns LICENCE README Recipe \
44 *.rc2 mkfiles.pl Makefile Makefile.
* \
45 HACKING puzzles.txt puzzles.hlp puzzles.cnt puzzles.chm \
46 icons
/Makefile icons
/*.
{sav
,pl
,sh
} icons
/win16pal.xpm \
47 icons
/*.png icons
/*.ico icons
/*.rc icons
/*.c
; do
49 */*) ln -s ..
/..
/..
/$i tmp.$$
/puzzles
$arcsuffix/$i;;
50 *) ln -s ..
/..
/$i tmp.$$
/puzzles
$arcsuffix/$i;;
52 if test "x$ver" != "x"; then
53 md5sum $i >> tmp.$$
/puzzles
$arcsuffix/manifest
57 if test "x$ver" != "x"; then
58 echo "$ver" >> tmp.$$
/puzzles
$arcsuffix/version.def
61 tar -C tmp.$$
-chzf - puzzles
$arcsuffix > ..
/puzzles
$arcsuffix.
tar.gz