option to set compression level; don't turn 'maximum compression' on, there is no...
[k8-i-v-a-n.git] / 0build.sh
blob7af8c04ec0cb478e5458611dc7d7bbd44862ee58
1 #!/bin/sh
2 # WARNING! SHITTY CODE!
5 defines="-DSGAME_SHOTS_IPU -DWIZARD -DLOCAL_SAVES"
6 cflags="-Wno-narrowing -Isrc/felib"
7 lflags="-lm"
8 objects=""
11 find_package() {
12 local r
14 if [ "z$2" != "z" ]; then
15 pkg-config --silence-errors $1 --atleast-version=$2
16 else
17 pkg-config --silence-errors $1
19 r="$?"
20 if [ "z$r" = "z0" ]; then
21 have_package="tan"
22 cflags="${cflags} `pkg-config $1 --cflags`"
23 lflags="${lflags} `pkg-config $1 --libs`"
24 else
25 have_package="ona"
30 # $1: srcdir
31 # $2: srcfile
32 # $3: use gcc if not empty
33 compile() {
34 local obj
36 obj=`basename $2 .cpp`
37 obj=`basename $obj .c`
38 obj="${obj}.o"
39 echo "CC $2"
40 obj="_build/${obj}"
41 objects="${objects} ${obj}"
42 gcc -pipe -c -O2 -Wall ${defines} ${cflags} -o ${obj} "$1/$2"
43 if [ "$?" != "0" ]; then
44 echo "FATAL: compilation failed!"
45 exit 1
50 link() {
51 echo "LINK ivan"
52 g++ -pipe -s -o ivan ${objects} ${lflags}
53 if [ "$?" != "0" ]; then
54 echo "FATAL: linking failed!"
55 exit 1
60 find_package sdl 1.2
61 if [ "$have_package" != "tan" ]; then
62 echo "FATAL: you need SDL development package installed, version 1.2 or above!"
63 exit 1
66 find_package SDL_mixer 1.2
67 if [ "$have_package" != "tan" ]; then
68 echo "MSG: no SDL_mixer package found, sound disabled"
69 defines="${defines} -DDISABLE_SOUND"
72 find_package imlib2 1.4
73 if [ "$have_package" = "tan" ]; then
74 defines="${defines} -DHAVE_IMLIB2"
77 find_package zlib 1.2
78 if [ "$have_package" = "tan" ]; then
79 defines="${defines} -DUSE_ZLIB"
82 #find_package libpng 1.5
83 #if [ "$have_package" = "tan" ]; then
84 # defines="${defines} -DHAVE_LIBPNG"
85 #fi
88 mkdir _build 2>/dev/null
90 compile src/felib bitmap.cpp
91 compile src/felib config.cpp
92 compile src/felib error.cpp
93 compile src/felib febot.cpp
94 compile src/felib feio.cpp
95 compile src/felib felist.cpp
96 compile src/felib femain.cpp
97 compile src/felib femath.cpp
98 compile src/felib festring.cpp
99 compile src/felib fetime.cpp
100 compile src/felib graphics.cpp
101 compile src/felib hscore.cpp
102 compile src/felib rawbit.cpp
103 compile src/felib fesave.cpp
104 compile src/felib whandler.cpp
105 compile src/felib regex.c
107 compile src/game actset.cpp
108 compile src/game areaset.cpp
109 compile src/game charset.cpp
110 compile src/game charsset.cpp
111 compile src/game command.cpp
112 compile src/game coreset.cpp
113 compile src/game dataset.cpp
114 compile src/game dungeon.cpp
115 compile src/game game.cpp
116 compile src/game godset.cpp
117 compile src/game iconf.cpp
118 compile src/game id.cpp
119 compile src/game igraph.cpp
120 compile src/game itemset.cpp
121 compile src/game levelset.cpp
122 compile src/game main.cpp
123 compile src/game materset.cpp
124 compile src/game message.cpp
125 compile src/game object.cpp
126 compile src/game roomset.cpp
127 compile src/game script.cpp
128 compile src/game slotset.cpp
129 compile src/game trapset.cpp
130 compile src/game wmapset.cpp
131 compile src/game wskill.cpp
133 link