]> icculus.org git repositories - divverent/nexuiz.git/blob - misc/makebuild.sh
build scripts: debug infos are kept in an extra zip file
[divverent/nexuiz.git] / misc / makebuild.sh
1 #!/bin/sh
2 set -ex
3
4 base=`pwd`
5
6 basepk3=$base/data20060614.pk3
7 nexdir=$base/nexuiz
8 dpdir=$base/darkplaces
9 tmpdir=/tmp/NEX
10 zipdir=/home/polzer/UT/distfiles/nex/
11 mingwdlls=$base/buildfiles/w32
12 osxapps=$base/buildfiles/osx
13 copystrip=$base/buildfiles/copystrip
14 fteqcc="fteqcc.bin -O2"
15 mingw=/home/polzer/mingw32
16 ia32=/chroot/fc4-i386
17 osxhost=macmini_osx
18 osxtemp=/Users/rpolzer/Darkplaces.build
19
20 if [ -n "$1" ]; then
21         osxhost=macmini
22 fi
23
24 : ${date:=`date +%Y%m%d`}
25 echo "date stamp: $date"
26
27 buildosx()
28 {
29         rsync --exclude "*.o" --exclude "*.d" --exclude "nexuiz-*" --delete-excluded --delete -zvaSHP . $copystrip "$osxhost:$osxtemp"
30         ssh "$osxhost" ". ~/.profile && cd $osxtemp && PATH=$osxtemp/copystrip:\$PATH make CC=\"gcc -g -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk\" clean $*"
31         rsync --exclude "*.o" --exclude "*.d" --delete-excluded --delete -zvaSHP "$osxhost:$osxtemp/." .
32 }
33
34 build64()
35 {
36         PATH=$copystrip:$PATH make CC="gcc -g" "$@"
37 }
38
39 build32()
40 {
41         PATH=$copystrip:$PATH make CC="gcc -g -I$ia32/usr/include -I$ia32/usr/X11R6/include -L$ia32/usr/lib -L$ia32/usr/X11R6/lib -m32" DP_MACHINE=i686 "$@"
42 }
43
44 buildwin()
45 {
46         PATH=$copystrip:$mingw/bin:$PATH make CC="gcc -g" DP_MAKE_TARGET=mingw "$@"
47 }
48
49 rm -rf "$tmpdir"
50 mkdir -p "$tmpdir"
51 cd "$dpdir"
52
53 cp -r "$osxapps"/*.app "$tmpdir"
54 mkdir "$tmpdir/debuginfo"
55 rm -f *.exe nexuiz-* *-withdebug
56
57 make clean
58 buildosx sdl-nexuiz cl-nexuiz sv-nexuiz
59 cp nexuiz-agl "$tmpdir/Nexuiz.app/Contents/MacOS/nexuiz-osx-ppc-agl-bin"
60 cp nexuiz-dedicated "$tmpdir/nexuiz-osx-ppc-dedicated"
61 cp nexuiz-sdl "$tmpdir/Nexuiz-SDL.app/Contents/MacOS/nexuiz-osx-ppc-sdl-bin"
62 cp nexuiz-agl-withdebug "$tmpdir/debuginfo/nexuiz-osx-ppc-agl-bin"
63 cp nexuiz-dedicated-withdebug "$tmpdir/debuginfo/nexuiz-osx-ppc-dedicated-bin"
64 cp nexuiz-sdl-withdebug "$tmpdir/debuginfo/nexuiz-osx-ppc-sdl-bin"
65
66 make clean
67 buildwin nexuiz
68 for x in -dedicated -sdl ''; do
69         cp nexuiz$x.exe "$tmpdir/nexuiz$x.exe"
70         cp nexuiz$x.exe-withdebug "$tmpdir/debuginfo/nexuiz$x.exe"
71 done
72
73 make clean
74 build32 nexuiz
75 for x in dedicated sdl glx; do
76         cp nexuiz-$x "$tmpdir/nexuiz-linux-686-$x"
77         cp nexuiz-$x-withdebug "$tmpdir/debuginfo/nexuiz-linux-686-$x"
78 done
79
80 make clean
81 build64 nexuiz
82 for x in dedicated sdl glx; do
83         cp nexuiz-$x "$tmpdir/nexuiz-linux-x86_64-$x"
84         cp nexuiz-$x-withdebug "$tmpdir/debuginfo/nexuiz-linux-x86_64-$x"
85 done
86
87 cp "$nexdir/nexuiz-linux-sdl.sh" "$tmpdir/"
88 cp "$nexdir/nexuiz-linux-glx.sh" "$tmpdir/"
89 cp "$nexdir/gpl.txt" "$tmpdir/"
90
91 make clean
92 rm -f *.exe nexuiz-*
93
94 cd "$nexdir/data"
95 svn export . "$tmpdir/data"
96
97 cd "$nexdir/Docs"
98 svn export . "$tmpdir/Docs"
99
100 cd "$tmpdir/data"
101 mkdir -p "$tmpdir/sources"
102 #zip -9r ../sources/gamesource$date.zip qcsrc
103 7za a -mx=9 -tzip ../sources/gamesource$date.zip qcsrc
104
105 cd "$dpdir/.."
106 #zip -9r "$tmpdir/sources/enginesource$date.zip" "${dpdir##*/}"
107 7za a -mx=9 -tzip "$tmpdir/sources/enginesource$date.zip" "${dpdir##*/}"
108
109 cd "$tmpdir/data/qcsrc/menu"
110 $fteqcc
111
112 cd "$tmpdir/data/qcsrc/server"
113 $fteqcc
114
115 rm -rf "$tmpdir/data/qcsrc"
116
117 cd "$tmpdir/data"
118 mv common-spog.pk3 ..
119 #zip -9r ../data.pk3 .
120 7za a -mx=7 -tzip ../data.pk3 .
121
122 cd "$tmpdir"
123 rm -rf data
124 mkdir data
125 mv data.pk3 data/data$date.pk3
126 mv common-spog.pk3 data/
127
128 cp -r "$mingwdlls"/* .
129 # fix up permissions
130 chmod 644 *.dll *.exe
131
132 mkdir Nexuiz
133 mv * Nexuiz/ || true
134
135 find . -name .svn -exec rm -rf {} \; -prune
136
137 rm -f "$zipdir/nexuiz$date$ext.zip"
138 zip -9yr "$zipdir/nexuiz$date$ext.zip"           Nexuiz/gpl.txt Nexuiz/nexuiz* Nexuiz/Nexuiz* Nexuiz/*.dll Nexuiz/sources Nexuiz/Docs Nexuiz/data/data$date.pk3 Nexuiz/data/common-spog.pk3
139 rm -f "$zipdir/nexuizengineonly$date$ext.zip"
140 zip -9yr "$zipdir/nexuizengineonly$date$ext.zip" Nexuiz/gpl.txt Nexuiz/nexuiz* Nexuiz/Nexuiz* Nexuiz/*.dll
141 rm -f "$zipdir/nexuizsource$date$ext.zip"
142 zip -9yr "$zipdir/nexuizsource$date$ext.zip"     Nexuiz/gpl.txt                                            Nexuiz/sources
143
144 zipdiff -o Nexuiz/data/datapatch$date.pk3 -f "$basepk3" -t Nexuiz/data/data$date.pk3
145 rm -f "$zipdir/nexuizpatch$date$ext.zip"
146 zip -9yr "$zipdir/nexuizpatch$date$ext.zip"      Nexuiz/gpl.txt Nexuiz/nexuiz* Nexuiz/Nexuiz* Nexuiz/*.dll Nexuiz/sources Nexuiz/Docs Nexuiz/data/datapatch$date.pk3
147
148 rm -f "$zipdir/nexuizdebug$date$ext.zip"
149 zip -9yr "$zipdir/nexuizdebug$date$ext.zip"      Nexuiz/gpl.txt debuginfo/*