chiark / gitweb /
noicon.rc was missing from the Unix source archive, which caused a
[sgt-puzzles.git] / makedist.sh
1 #!/bin/sh 
2
3 # Build a Unix source distribution from the Puzzles SVN area.
4 #
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
8 # archive at all.
9
10 case "$#" in
11   0)
12     # Ignore errors; if we can't get a version, we'll have a blank
13     # string.
14     rev=`svnversion . 2>/dev/null`
15     if test "x$rev" = "xexported"; then rev=; fi
16     ;;
17   *)
18     case "$1" in *[!0-9M]*) echo "Malformed revision number '$1'">&2;exit 1;;esac
19     rev="$1"
20     ;;
21 esac
22
23 if test "x$rev" != "x"; then
24   arcsuffix="-r$rev"
25   ver="-DREVISION=$rev"
26 else
27   arcsuffix=
28   ver=
29 fi
30
31 perl mkfiles.pl
32
33 mkdir tmp.$$
34 mkdir tmp.$$/puzzles$arcsuffix
35 mkdir tmp.$$/puzzles$arcsuffix/icons
36
37 # Build Windows Help and text versions of the manual for convenience.
38 halibut --winhelp=puzzles.hlp --text=puzzles.txt puzzles.but
39
40 # Build a text version of the HACKING document.
41 halibut --text=HACKING devel.but
42
43 for i in *.c *.m *.h *.R *.rc *.but *.plist *.icns LICENCE README Recipe \
44   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
48   case $i in
49     */*) ln -s ../../../$i tmp.$$/puzzles$arcsuffix/$i;;
50     *)   ln -s ../../$i tmp.$$/puzzles$arcsuffix/$i;;
51   esac
52   if test "x$ver" != "x"; then
53     md5sum $i >> tmp.$$/puzzles$arcsuffix/manifest
54   fi
55 done
56
57 if test "x$ver" != "x"; then
58   echo "$ver" >> tmp.$$/puzzles$arcsuffix/version.def
59 fi
60
61 tar -C tmp.$$ -chzf - puzzles$arcsuffix > ../puzzles$arcsuffix.tar.gz
62
63 rm -rf tmp.$$