#!/bin/sh
#
######################################################
# Build script for TinyCore 2.x                      #
#                                                    #
# See .info for details                              #
#                                                    #
# November 27, 2009                                  #
######################################################

######################################################
# Build dependency list:
# compiletc
# python
# SDL-dev
# Xorg-dev
# bam --> http://teeworlds.com/trac/bam/browser/releases/bam-0.2.0.zip?format=raw
######################################################

######################################################
# When some step fails print a message and exit
######################################################
exit_error() {
	echo $1
	exit 1
}

######################################################
# Configure extension creation parameters            #
######################################################

SRCNAM=teeworlds-0.5.2-src.tar.gz
WRKDIR=teeworlds-0.5.2-src
EXTNAM=teeworlds
TMPDIR=/tmp/$EXTNAM
EXTYPE=""

######################################################
# Prepare extension creation                         #
######################################################

# Remove dirs and files left from previous creation

[ -d $WRKDIR ] && rm -r -f $WRKDIR

[ -d $TMPDIR ] && rm -r -f $TMPDIR

# Create temporary directory

mkdir -p $TMPDIR

######################################################
# Compile extension                                  #
######################################################

# Export variables needed for compilation

export CFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti"
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig

# Unpack source in current directory

tar -xf $SRCNAM

[ -d $WRKDIR ] || exit_error "Error work directory $WRKDIR does not exist!"

cd $WRKDIR

# Compile

../bam-0.2.0/src/bam release

# Install in base temp dir

mkdir -p $TMPDIR/usr/local/share/Teeworlds

cp -p teeworlds $TMPDIR/usr/local/share/Teeworlds
cp -p teeworlds_srv $TMPDIR/usr/local/share/Teeworlds
cp -p -r data $TMPDIR/usr/local/share/Teeworlds
cp -p ../teeworlds.png $TMPDIR/usr/local

cd $TMPDIR/usr/local
mkdir bin
cd bin

cat > teeworlds << EOF
#!/bin/sh
#
exec /usr/local/share/Teeworlds/teeworlds

EOF

cat > teeworlds_srv << EOF
#!/bin/sh
#
exec /usr/local/share/Teeworlds/teeworlds_srv

EOF

chmod +x teeworlds
chmod +x teeworlds_srv

# Delete compilation work directory

cd ..
rm -r -f $WRKDIR

# Remove unneeded dirs and files

# Adjust directory access rigths

find $TMPDIR/ -type d | xargs chmod -v 755;

# Strip executables

find $TMPDIR | xargs file | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded

# create menu item
cd $TMPDIR
mkdir -p usr/local/tce.menu
cd usr/local/tce.menu

cat > $EXTNAM << EOF
<JWM>
<Program label="Teeworlds">/usr/local/bin/teeworlds</Program>
</JWM>

EOF

mkdir -p $TMPDIR/usr/local/tce.icons
cd $TMPDIR/usr/local/tce.icons
mv ../teeworlds.png .

cat > $EXTNAM << EOF
i: /usr/local/tce.icons/teeworlds.png
t: Teeworlds
c: /usr/local/bin/teeworlds

EOF

###################################################
# Create extension in TMPDIR                      #
###################################################

cd $TMPDIR/..
mksquashfs $TMPDIR/ $EXTNAM.tcz$EXTYPE
cd $TMPDIR
find usr -not -type d > $EXTNAM.tcz$EXTYPE.list
mv ../$EXTNAM.tcz$EXTYPE .

# Create md5 file

md5sum $EXTNAM.tcz$EXTYPE > $EXTNAM.tcz$EXTYPE.md5.txt

# Cleanup temp directory

rm -r -f usr  