libretro-super/libretro-build-ios.sh
2013-04-30 02:03:05 +02:00

242 lines
5.5 KiB
Bash
Executable File

#!/bin/sh
set -e
BASE_DIR="$PWD"
RARCH_DIR=$BASE_DIR/dist
RARCH_DIST_DIR=$RARCH_DIR/ios
JOBS=4
export IOSSDK=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/
build_libretro_mednafen()
{
cd $BASE_DIR
if [ -d "libretro-mednafen" ]; then
echo "=== Building Mednafen ==="
cd libretro-mednafen
for core in psx pce-fast wswan ngp gba snes vb
do
if [ -d $core ]; then
make -f Makefile platform=ios core=${core} clean
make -f Makefile platform=ios core=${core} -j${JOBS} || die "Failed to build mednafen/${core}"
cp "mednafen_$(echo ${core} | tr '[\-]' '[_]')_libretro.dylib" "$RARCH_DIST_DIR"
fi
done
else
echo "Mednafen not fetched, skipping ..."
fi
}
build_libretro_s9x_next()
{
cd $BASE_DIR
if [ -d "libretro-s9x-next" ]; then
echo "=== Building SNES9x-Next ==="
cd libretro-s9x-next/
make -f Makefile.libretro clean
make -f Makefile.libretro platform=ios
cp "snes9x_next_libretro.dylib" "$RARCH_DIST_DIR"
else
echo "SNES9x-Next not fetched, skipping ..."
fi
}
build_libretro_genplus()
{
cd $BASE_DIR
if [ -d "libretro-genplus" ]; then
echo "=== Building Genplus GX ==="
cd libretro-genplus/
make -f Makefile.libretro clean
make -f Makefile.libretro platform=ios
cp "genesis_plus_gx_libretro.dylib" "$RARCH_DIST_DIR"
else
echo "Genplus GX not fetched, skipping ..."
fi
}
build_libretro_fba()
{
cd $BASE_DIR
if [ -d "libretro-fba" ]; then
echo "=== Building Final Burn Alpha ==="
cd libretro-fba
cd svn-current/trunk
make -f makefile.libretro clean
make -f makefile.libretro platform=ios
cp "fb_alpha_libretro.dylib" "$RARCH_DIST_DIR"
else
echo "Final Burn Alpha not fetched, skipping ..."
fi
}
build_libretro_vba()
{
cd $BASE_DIR
if [ -d "libretro-vba" ]; then
echo "=== Building VBA-Next ==="
cd libretro-vba/
make -f Makefile.libretro platform=ios clean
make -f Makefile.libretro platform=ios -j4 || die "Failed to build VBA-Next"
cp "vba_next_libretro.dylib" "$RARCH_DIST_DIR"
else
echo "VBA-Next not fetched, skipping ..."
fi
}
build_libretro_fceu()
{
cd $BASE_DIR
if [ -d "libretro-fceu" ]; then
echo "=== Building FCEU ==="
cd libretro-fceu
make -C fceumm-code -f Makefile.libretro clean
make -C fceumm-code -f Makefile.libretro platform=ios -j4 || die "Failed to build FCEU"
cp "fceumm-code/fceumm_libretro.dylib" "$RARCH_DIST_DIR"
else
echo "FCEU not fetched, skipping ..."
fi
}
build_libretro_gambatte()
{
cd $BASE_DIR
if [ -d "libretro-gambatte" ]; then
echo "=== Building Gambatte ==="
cd libretro-gambatte/libgambatte
make -f Makefile.libretro clean
make -f Makefile.libretro platform=ios
cp "gambatte_libretro.dylib" "$RARCH_DIST_DIR"
else
echo "Gambatte not fetched, skipping ..."
fi
}
build_libretro_nx()
{
cd $BASE_DIR
if [ -d "libretro-nx" ]; then
echo "=== Building NXEngine ==="
cd libretro-nx
make -f Makefile clean
make -f Makefile platform=ios
cp "nxengine_libretro.dylib" "$RARCH_DIST_DIR"
else
echo "NXEngine not fetched, skipping ..."
fi
}
build_libretro_prboom()
{
cd $BASE_DIR
if [ -d "libretro-prboom" ]; then
echo "=== Building PRBoom ==="
cd libretro-prboom
make -f Makefile clean
make -f Makefile platform=ios
cp "prboom_libretro.dylib" "$RARCH_DIST_DIR"
else
echo "PRBoom not fetched, skipping ..."
fi
}
build_libretro_stella()
{
cd $BASE_DIR
if [ -d "libretro-stella" ]; then
echo "=== Building Stella ==="
cd libretro-stella
make -f Makefile clean
make -f Makefile platform=ios
cp "stella_libretro.dylib" "$RARCH_DIST_DIR"
else
echo "Stella not fetched, skipping ..."
fi
}
build_libretro_desmume()
{
cd $BASE_DIR
if [ -d "libretro-desmume" ]; then
echo "=== Building Desmume ==="
cd libretro-desmume
make -f Makefile.libretro clean
make -f Makefile.libretro platform=ios
cp "desmume_libretro.dylib" "$RARCH_DIST_DIR"
else
echo "Desmume not fetched, skipping ..."
fi
}
build_libretro_nestopia()
{
cd $BASE_DIR
if [ -d "libretro-nestopia" ]; then
echo "=== Building Nestopia ==="
cd libretro-nestopia/libretro
make clean
make -f Makefile platform=ios
cp "nestopia_libretro.dylib" "$RARCH_DIST_DIR"
else
echo "Nestopia not fetched, skipping ..."
fi
}
build_libretro_tyrquake()
{
cd $BASE_DIR
if [ -d "libretro-tyrquake" ]; then
echo "=== Building TyrQuake ==="
cd libretro-tyrquake
make -f Makefile.libretro clean
make -f Makefile.libretro platform=ios
cp "tyrquake_libretro.dylib" "$RARCH_DIST_DIR"
else
echo "TyrQuake not fetched, skipping ..."
fi
}
create_dist_dir()
{
if [ -d $RARCH_DIR ]; then
echo "Directory $RARCH_DIR already exists, skipping creation..."
else
mkdir $RARCH_DIR
fi
if [ -d $RARCH_DIST_DIR ]; then
echo "Directory $RARCH_DIST_DIR already exists, skipping creation..."
else
mkdir $RARCH_DIST_DIR
fi
}
create_dist_dir
build_libretro_mednafen
build_libretro_s9x_next
build_libretro_genplus
build_libretro_fba
build_libretro_vba
build_libretro_fceu
build_libretro_gambatte
build_libretro_nx
build_libretro_prboom
build_libretro_stella
build_libretro_desmume
build_libretro_nestopia
build_libretro_tyrquake