#!/bin/sh

SRC_ROOT=$1
DST_ROOT=$2
CUSTOM_DATA=$3
VERSION=$4
VARIANTSUFFIX=$5
RELEASE=$6

LIB_DIR=/opt/local/lib

LIB_SDL=libSDL-1.2.0.dylib
LIB_SDLMIXER=libSDL_mixer-1.2.0.dylib
LIB_SDLTTF=libSDL_ttf-2.0.0.dylib
LIB_PNG=libpng.3.dylib
LIB_VORBISFILE=libvorbisfile.3.dylib
LIB_VORBIS=libvorbis.0.dylib
LIB_OGG=libogg.0.dylib
LIB_FREETYPE=libfreetype.6.dylib

GAME_DIR=$SRC_ROOT/slashemdir

APP_DIR=$DST_ROOT/VulturesClaw.app
APP_GAMERESOURCES=$APP_DIR/slashemdir
APP_STARTDIR=$APP_DIR/Contents
APP_APPRESOURCES=$APP_DIR/Contents/Resources
APP_APPSTART=$APP_DIR/Contents/MacOS
APP_APPLIB=$APP_DIR/Contents/Frameworks

DMG_NAME=$DST_ROOT/vultures-$VERSION-$VARIANTSUFFIX_macosx-$RELEASE.dmg


REAL_EXECUTABLE=$APP_GAMERESOURCES/vulturesclaw

LOCAL_LIBREF=@executable_path/../Contents/Frameworks

#todo: create only if not yet exists $APP_DIR
# mkdir $APP_DIR

# clean up
rm -f $DMG_NAME
rm -rf $APP_DIR/*

# create the structure
mkdir -p $APP_STARTDIR
mkdir -p $APP_APPLIB
mkdir -p $APP_APPSTART
mkdir -p $APP_APPRESOURCES
mkdir -p $APP_GAMERESOURCES

# copy the normal game resources
cp -r $GAME_DIR/* $APP_GAMERESOURCES

# copy plist
cp $CUSTOM_DATA/Info-slashem.plist $APP_STARTDIR/Info.plist

# copy icon(s)
cp $CUSTOM_DATA/vulturesclaw.icns $APP_APPRESOURCES 

# copy starter
cp $CUSTOM_DATA/vulturesclaw $APP_APPSTART
chmod u+x $APP_APPSTART/vulturesclaw

# copy needed libraries
cp $LIB_DIR/$LIB_SDL $APP_APPLIB/$LIB_SDL
cp $LIB_DIR/$LIB_SDLMIXER $APP_APPLIB/$LIB_SDLMIXER
cp $LIB_DIR/$LIB_SDLTTF $APP_APPLIB/$LIB_SDLTTF
cp $LIB_DIR/$LIB_PNG $APP_APPLIB/$LIB_PNG

cp $LIB_DIR/$LIB_VORBISFILE $APP_APPLIB/$LIB_VORBISFILE
cp $LIB_DIR/$LIB_VORBIS $APP_APPLIB/$LIB_VORBIS
cp $LIB_DIR/$LIB_OGG $APP_APPLIB/$LIB_OGG
cp $LIB_DIR/$LIB_FREETYPE $APP_APPLIB/$LIB_FREETYPE

# do the id stuff

install_name_tool -id $LOCAL_LIBREF/$LIB_SDL $APP_APPLIB/$LIB_SDL
install_name_tool -id $LOCAL_LIBREF/$LIB_SDLMIXER $APP_APPLIB/$LIB_SDLMIXER
install_name_tool -id $LOCAL_LIBREF/$LIB_SDLTTF $APP_APPLIB/$LIB_SDLTTF
install_name_tool -id $LOCAL_LIBREF/$LIB_PNG $APP_APPLIB/$LIB_PNG

install_name_tool -id $LOCAL_LIBREF/$LIB_VORBISFILE $APP_APPLIB/$LIB_VORBISFILE
install_name_tool -id $LOCAL_LIBREF/$LIB_VORBIS $APP_APPLIB/$LIB_VORBIS
install_name_tool -id $LOCAL_LIBREF/$LIB_OGG $APP_APPLIB/$LIB_OGG
install_name_tool -id $LOCAL_LIBREF/$LIB_FREETYPE $APP_APPLIB/$LIB_FREETYPE

# do the relink stuff
install_name_tool -change $LIB_DIR/$LIB_SDL $LOCAL_LIBREF/$LIB_SDL $REAL_EXECUTABLE 
install_name_tool -change $LIB_DIR/$LIB_SDLMIXER $LOCAL_LIBREF/$LIB_SDLMIXER $REAL_EXECUTABLE 
install_name_tool -change $LIB_DIR/$LIB_SDLTTF $LOCAL_LIBREF/$LIB_SDLTTF $REAL_EXECUTABLE 
install_name_tool -change $LIB_DIR/$LIB_PNG $LOCAL_LIBREF/$LIB_PNG $REAL_EXECUTABLE 

install_name_tool -change $LIB_DIR/$LIB_VORBISFILE $LOCAL_LIBREF/$LIB_VORBISFILE  $APP_APPLIB/$LIB_SDLMIXER
install_name_tool -change $LIB_DIR/$LIB_VORBIS $LOCAL_LIBREF/$LIB_VORBIS $APP_APPLIB/$LIB_SDLMIXER
install_name_tool -change $LIB_DIR/$LIB_OGG $LOCAL_LIBREF/$LIB_OGG $APP_APPLIB/$LIB_SDLMIXER
install_name_tool -change $LIB_DIR/$LIB_SDL $LOCAL_LIBREF/$LIB_SDL  $APP_APPLIB/$LIB_SDLMIXER

install_name_tool -change $LIB_DIR/$LIB_FREETYPE $LOCAL_LIBREF/$LIB_FREETYPE $APP_APPLIB/$LIB_SDLTTF
install_name_tool -change $LIB_DIR/$LIB_SDL $LOCAL_LIBREF/$LIB_SDL $APP_APPLIB/$LIB_SDLTTF 

install_name_tool -change $LIB_DIR/$LIB_OGG $LOCAL_LIBREF/$LIB_OGG $APP_APPLIB/$LIB_VORBIS
install_name_tool -change $LIB_DIR/$LIB_VORBIS $LOCAL_LIBREF/$LIB_VORBIS $APP_APPLIB/$LIB_VORBISFILE
install_name_tool -change $LIB_DIR/$LIB_OGG $LOCAL_LIBREF/$LIB_OGG $APP_APPLIB/$LIB_VORBISFILE

# build the DMG
hdiutil create -srcfolder $APP_DIR -format UDZO -imagekey zlib-level=9 $DMG_NAME
