libretro-super/libretro-build-common.sh

616 lines
22 KiB
Bash

#!/bin/sh
die()
{
echo $1
#exit 1
}
if [ "$CC" ] && [ "$CXX" ]; then
COMPILER="CC=\"$CC\" CXX=\"$CXX\""
else
COMPILER=""
fi
echo "Compiler: $COMPILER"
[[ "$ARM_NEON" ]] && echo "=== ARM NEON opts enabled... ===" && export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-neon"
[[ "$CORTEX_A8" ]] && echo "=== Cortex A8 opts enabled... ===" && export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-cortexa8"
[[ "$CORTEX_A9" ]] && echo "=== Cortex A9 opts enabled... ===" && export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-cortexa9"
[[ "$ARM_HARDFLOAT" ]] && echo "=== ARM hardfloat ABI enabled... ===" && export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-hardfloat"
[[ "$ARM_SOFTFLOAT" ]] && echo "=== ARM softfloat ABI enabled... ===" && export FORMAT_COMPILER_TARGET="${FORMAT_COMPILER_TARGET}-softfloat"
[[ "$X86" ]] && echo "=== x86 CPU detected... ==="
[[ "$X86" ]] && [[ "$X86_64" ]] && echo "=== x86_64 CPU detected... ==="
export FORMAT_COMPILER_TARGET_ALT="$FORMAT_COMPILER_TARGET"
echo "${FORMAT_COMPILER_TARGET}"
check_opengl()
{
if [ "$BUILD_LIBRETRO_GL" ]; then
if [ "$ENABLE_GLES" ]; then
echo "=== OpenGL ES enabled ==="
export FORMAT_COMPILER_TARGET=$FORMAT_COMPILER_TARGET-gles
export FORMAT_COMPILER_TARGET_ALT=$FORMAT_COMPILER_TARGET
else
echo "=== OpenGL enabled ==="
export FORMAT_COMPILER_TARGET=$FORMAT_COMPILER_TARGET-opengl
export FORMAT_COMPILER_TARGET_ALT=$FORMAT_COMPILER_TARGET
fi
else
echo "=== OpenGL disabled in build ==="
fi
}
build_libretro_ffmpeg()
{
cd "$BASE_DIR"
if [ -d "libretro-ffmpeg" ]; then
echo "=== Checking OpenGL dependencies ==="
echo "=== Building FFmpeg ==="
cd libretro-ffmpeg
${MAKE} platform=$FORMAT_COMPILER_TARGET -j$JOBS clean || die "Failed to clean FFmpeg"
${MAKE} platform=$FORMAT_COMPILER_TARGET -j$JOBS
cp ffmpeg_libretro$FORMAT.$FORMAT_EXT "$RARCH_DIST_DIR"
else
echo "FFmpeg not fetched, skipping ..."
fi
}
build_libretro_fba_full()
{
cd "$BASE_DIR"
if [ -d "libretro-fba" ]; then
echo "=== Building Final Burn Alpha (Full) ==="
cd libretro-fba/
cd svn-current/trunk
${MAKE} -f makefile.libretro platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS clean || die "Failed to clean Final Burn Alpha"
${MAKE} -f makefile.libretro platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS || die "Failed to build Final Burn Alpha"
cp fb_alpha_libretro$FORMAT.$FORMAT_EXT "$RARCH_DIST_DIR"
else
echo "Final Burn Alpha not fetched, skipping ..."
fi
}
build_libretro_pcsx_rearmed()
{
cd "$BASE_DIR"
pwd
if [ -d "libretro-pcsx-rearmed" ]; then
echo "=== Building PCSX ReARMed ==="
cd libretro-pcsx-rearmed
${MAKE} -f Makefile.libretro platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS clean || die "Failed to clean PCSX ReARMed"
${MAKE} -f Makefile.libretro platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS || die "Failed to build PCSX ReARMed"
cp pcsx_rearmed_libretro$FORMAT.$FORMAT_EXT "$RARCH_DIST_DIR"
else
echo "PCSX ReARMed not fetched, skipping ..."
fi
}
build_libretro_mednafen()
{
cd "$BASE_DIR"
if [ -d "libretro-mednafen" ]; then
echo "=== Building Mednafen ==="
cd libretro-mednafen
${MAKE} core=pce-fast platform=$FORMAT_COMPILER_TARGET_ALT $COMPILER -j$JOBS clean || die "Failed to clean mednafen/${core}"
${MAKE} core=pce-fast platform=$FORMAT_COMPILER_TARGET_ALT $COMPILER -j$JOBS || die "Failed to build mednafen/${core}"
cp mednafen_pce_fast_libretro$FORMAT.$FORMAT_EXT $RARCH_DIST_DIR
for core in wswan ngp vb
do
${MAKE} core=${core} platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS clean || die "Failed to clean mednafen/${core}"
${MAKE} core=${core} platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS || die "Failed to build mednafen/${core}"
cp mednafen_$(echo ${core} | tr '[\-]' '[_]')_libretro$FORMAT.$FORMAT_EXT "$RARCH_DIST_DIR"
done
else
echo "Mednafen not fetched, skipping ..."
fi
}
build_libretro_mednafen_psx()
{
cd "$BASE_DIR"
if [ -d "libretro-mednafen" ]; then
echo "=== Building Mednafen PSX ==="
cd libretro-mednafen
for core in psx
do
${MAKE} core=${core} platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS clean || die "Failed to clean mednafen/${core}"
${MAKE} core=${core} platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS || die "Failed to build mednafen/${core}"
cp mednafen_$(echo ${core} | tr '[\-]' '[_]')_libretro$FORMAT.$FORMAT_EXT "$RARCH_DIST_DIR"
done
else
echo "Mednafen not fetched, skipping ..."
fi
}
build_libretro_mednafen_gba()
{
cd "$BASE_DIR"
if [ -d "libretro-mednafen" ]; then
echo "=== Building Mednafen VBA ==="
cd libretro-mednafen
for core in gba
do
${MAKE} core=${core} platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS clean || die "Failed to clean mednafen/${core}"
${MAKE} core=${core} platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS || die "Failed to build mednafen/${core}"
cp mednafen_$(echo ${core} | tr '[\-]' '[_]')_libretro$FORMAT.$FORMAT_EXT "$RARCH_DIST_DIR"
done
else
echo "Mednafen not fetched, skipping ..."
fi
}
build_libretro_mednafen_snes()
{
cd "$BASE_DIR"
if [ -d "libretro-mednafen" ]; then
echo "=== Building Mednafen bSNES ==="
cd libretro-mednafen
for core in snes
do
${MAKE} core=${core} platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS clean || die "Failed to clean mednafen/${core}"
${MAKE} core=${core} platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS || die "Failed to build mednafen/${core}"
cp mednafen_$(echo ${core} | tr '[\-]' '[_]')_libretro$FORMAT.$FORMAT_EXT "$RARCH_DIST_DIR"
done
else
echo "Mednafen not fetched, skipping ..."
fi
}
build_libretro_stella()
{
cd "$BASE_DIR"
if [ -d "libretro-stella" ]; then
echo "=== Building Stella ==="
cd libretro-stella
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER clean
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS
cp stella_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "Stella not fetched, skipping ..."
fi
}
build_libretro_handy()
{
cd "$BASE_DIR"
if [ -d "libretro-handy" ]; then
echo "=== Building Handy ==="
cd libretro-handy
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER clean
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS
cp handy_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "Handy not fetched, skipping ..."
fi
}
build_libretro_quicknes()
{
cd "$BASE_DIR"
if [ -d "libretro-quicknes" ]; then
echo "=== Building QuickNES ==="
cd libretro-quicknes/libretro
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS clean || die "Failed to clean QuickNES"
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS || die "Failed to build QuickNES"
cp quicknes_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "QuickNES 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 platform=${FORMAT_COMPILER_TARGET} -j$JOBS clean || die "Failed to clean Desmume"
${MAKE} -f Makefile.libretro platform=${FORMAT_COMPILER_TARGET} -j$JOBS || die "Failed to build Desmume"
cp desmume_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "Desmume not fetched, skipping ..."
fi
}
build_libretro_s9x()
{
cd "$BASE_DIR"
if [ -d "libretro-s9x" ]; then
echo "=== Building SNES9x ==="
cd libretro-s9x/libretro
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS clean || die "Failed to clean SNES9x"
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS || die "Failed to build SNES9x"
cp snes9x_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "SNES9x 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 platform=${FORMAT_COMPILER_TARGET_ALT} $COMPILER -j$JOBS clean || die "Failed to build SNES9x-Next"
${MAKE} -f Makefile.libretro platform=${FORMAT_COMPILER_TARGET_ALT} $COMPILER -j$JOBS || die "Failed to build SNES9x-Next"
cp snes9x_next_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
cd ..
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 platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS clean || die "Failed to clean Genplus GX"
${MAKE} -f Makefile.libretro platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS || die "Failed to build Genplus GX"
cp genesis_plus_gx_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "Genplus GX not fetched, skipping ..."
fi
}
build_libretro_mame078()
{
cd "$BASE_DIR"
if [ -d "libretro-mame078" ]; then
echo "=== Building MAME 0.78 ==="
cd libretro-mame078
${MAKE} -f makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS clean || die "Failed to clean MAME 0.78"
${MAKE} -f makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS || die "Failed to build MAME 0.78"
cp mame078_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "MAME 0.78 not fetched, skipping ..."
fi
}
build_libretro_mame()
{
cd "$BASE_DIR"
if [ -d "libretro-mame" ]; then
echo "=== Building MAME ==="
cd libretro-mame/0150
${MAKE} -f Makefile.libretro platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS clean || die "Failed to clean MAME"
${MAKE} -f Makefile.libretro platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS || die "Failed to build MAME"
cp mame_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "MAME not fetched, skipping ..."
fi
}
build_libretro_vbam()
{
cd "$BASE_DIR"
if [ -d "libretro-vbam" ]; then
echo "=== Building VBA-M ==="
cd libretro-vbam/src/libretro
${MAKE} -f Makefile platform=$FORMAT_COMPILER_TARGET_ALT $COMPILER -j$JOBS clean || die "Failed to clean VBA-M"
${MAKE} -f Makefile platform=$FORMAT_COMPILER_TARGET_ALT $COMPILER -j$JOBS || die "Failed to build VBA-M"
cp vbam_libretro$FORMAT.$FORMAT_EXT "$RARCH_DIST_DIR"
else
echo "VBA-M not fetched, skipping ..."
fi
}
build_libretro_vba_next()
{
cd "$BASE_DIR"
if [ -d "libretro-vba-next" ]; then
echo "=== Building VBA-Next ==="
cd libretro-vba-next/
${MAKE} -f Makefile.libretro platform=$FORMAT_COMPILER_TARGET_ALT $COMPILER -j$JOBS clean || die "Failed to clean VBA-Next"
${MAKE} -f Makefile.libretro platform=$FORMAT_COMPILER_TARGET_ALT $COMPILER -j$JOBS || die "Failed to build VBA-Next"
cp vba_next_libretro$FORMAT.$FORMAT_EXT "$RARCH_DIST_DIR"
else
echo "VBA-Next not fetched, skipping ..."
fi
}
build_libretro_fceu()
{
cd "$BASE_DIR"
if [ -d "libretro-fceu" ]; then
echo "=== Building FCEUmm ==="
cd libretro-fceu
${MAKE} -C fceumm-code -f Makefile.libretro platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS clean || die "Failed to clean FCEUmm"
${MAKE} -C fceumm-code -f Makefile.libretro platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS || die "Failed to build FCEUmm"
cp fceumm-code/fceumm_libretro$FORMAT.$FORMAT_EXT "$RARCH_DIST_DIR"
else
echo "FCEUmm 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 platform=$FORMAT_COMPILER_TARGET_ALT $COMPILER -j$JOBS clean || die "Failed to clean Gambatte"
${MAKE} -f Makefile.libretro platform=$FORMAT_COMPILER_TARGET_ALT $COMPILER -j$JOBS || die "Failed to build Gambatte"
cp gambatte_libretro$FORMAT.$FORMAT_EXT "$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} platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS clean || die "Failed to clean NXEngine"
${MAKE} platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS || die "Failed to build NXEngine"
cp nxengine_libretro$FORMAT.$FORMAT_EXT "$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} platform=${FORMAT_COMPILER_TARGET_ALT} $COMPILER -j$JOBS clean || die "Failed to clean PRBoom"
${MAKE} platform=${FORMAT_COMPILER_TARGET_ALT} $COMPILER -j$JOBS || die "Failed to build PRBoom"
cp prboom_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "PRBoom not fetched, skipping ..."
fi
}
build_libretro_dinothawr()
{
cd "$BASE_DIR"
if [ -d "libretro-dinothawr" ]; then
echo "=== Building Dinothawr ==="
cd libretro-dinothawr
${MAKE} platform=${FORMAT_COMPILER_TARGET_ALT} $COMPILER -j$JOBS clean || die "Failed to clean Dinothawr"
${MAKE} platform=${FORMAT_COMPILER_TARGET_ALT} $COMPILER -j$JOBS || die "Failed to build Dinothawr"
cp dinothawr_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "Dinothawr not fetched, skipping ..."
fi
}
build_libretro_meteor()
{
cd "$BASE_DIR"
if [ -d "libretro-meteor" ]; then
echo "=== Building Meteor ==="
cd libretro-meteor/libretro
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS clean || die "Failed to clean Meteor"
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS || die "Failed to build Meteor"
cp meteor_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "Meteor not fetched, skipping ..."
fi
}
build_libretro_nestopia()
{
cd "$BASE_DIR"
if [ -d "libretro-nestopia" ]; then
echo "=== Building Nestopia ==="
cd libretro-nestopia/libretro
${MAKE} platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS clean || die "Failed to clean Nestopia"
${MAKE} platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS || die "Failed to build Nestopia"
cp nestopia_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "Nestopia not fetched, skipping ..."
fi
}
build_libretro_tyrquake()
{
cd "$BASE_DIR"
if [ -d "libretro-tyrquake" ]; then
echo "=== Building Tyr Quake ==="
cd libretro-tyrquake
${MAKE} -f Makefile.libretro platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS clean || die "Failed to clean Tyr Quake"
${MAKE} -f Makefile.libretro platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS || die "Failed to build Tyr Quake"
cp tyrquake_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "Tyr Quake not fetched, skipping ..."
fi
}
build_libretro_modelviewer()
{
cd "$BASE_DIR"
if [ -d "libretro-gl-modelviewer" ]; then
echo "=== Building Modelviewer (GL) ==="
cd libretro-gl-modelviewer
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS clean || die "Failed to clean Modelviewer"
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS || die "Failed to build Modelviewer"
cp modelviewer_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "ModelViewer not fetched, skipping ..."
fi
}
build_libretro_scenewalker()
{
cd "$BASE_DIR"
if [ -d "libretro-gl-scenewalker" ]; then
echo "=== Building SceneWalker (GL) ==="
cd libretro-gl-scenewalker
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS clean || die "Failed to clean SceneWalker"
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS || die "Failed to build SceneWalker"
cp scenewalker_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "SceneWalker not fetched, skipping ..."
fi
}
build_libretro_instancingviewer()
{
cd "$BASE_DIR"
if [ -d "libretro-gl-instancingviewer" ]; then
echo "=== Building Instancing Viewer (GL) ==="
cd libretro-gl-instancingviewer
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS clean || die "Failed to clean InstancingViewer"
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS || die "Failed to build InstancingViewer"
cp instancingviewer_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "InstancingViewer not fetched, skipping ..."
fi
}
build_libretro_scummvm()
{
cd "$BASE_DIR"
if [ -d "libretro-scummvm" ]; then
echo "=== Building ScummVM ==="
cd libretro-scummvm/backends/platform/libretro/build
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS clean || die "Failed to clean ScummVM"
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS || die "Failed to build ScummVM"
cp scummvm_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "ScummVM not fetched, skipping ..."
fi
}
build_libretro_dosbox()
{
cd "$BASE_DIR"
if [ -d "libretro-dosbox" ]; then
echo "=== Building DOSbox ==="
cd libretro-dosbox
${MAKE} -f Makefile.libretro platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS clean || die "Failed to clean DOSbox"
${MAKE} -f Makefile.libretro platform=${FORMAT_COMPILER_TARGET} $COMPILER -j$JOBS || die "Failed to build DOSbox"
cp dosbox_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "DOSbox not fetched, skipping ..."
fi
}
build_libretro_bsnes()
{
cd "$BASE_DIR"
if [ -d "libretro-bsnes/perf" ]; then
echo "=== Building bSNES performance ==="
cd libretro-bsnes/perf
rm -f obj/*.o
rm -f out/*.${FORMAT_EXT}
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} compiler="$CXX" ui=target-libretro profile=performance -j$JOBS || die "Failed to build bSNES performance core"
cp -f out/bsnes_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"/bsnes_libretro_performance.${FORMAT_EXT}
else
echo "bSNES performance not fetched, skipping ..."
fi
cd "$BASE_DIR"
if [ -d "libretro-bsnes/balanced" ]; then
echo "=== Building bSNES balanced ==="
cd libretro-bsnes/balanced
rm -f obj/*.o
rm -f out/*.${FORMAT_EXT}
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} compiler="$CXX" ui=target-libretro profile=balanced -j$JOBS || die "Failed to build bSNES balanced core"
cp -f out/bsnes_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"/bsnes_libretro_balanced.${FORMAT_EXT}
else
echo "bSNES compat not fetched, skipping ..."
fi
cd "$BASE_DIR"
if [ -d "libretro-bsnes" ]; then
echo "=== Building bSNES accuracy ==="
cd libretro-bsnes
rm -f obj/*.o
rm -f out/*.${FORMAT_EXT}
${MAKE} -f Makefile platform=${FORMAT_COMPILER_TARGET} compiler="$CXX" ui=target-libretro profile=accuracy -j$JOBS || die "Failed to build bSNES accuracy core"
cp -f out/bsnes_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"/bsnes_libretro_accuracy.${FORMAT_EXT}
fi
}
build_libretro_bnes()
{
cd "$BASE_DIR"
if [ -d "libretro-bnes" ]; then
echo "=== Building bNES ==="
cd libretro-bnes
mkdir -p obj
${MAKE} -j$JOBS clean || die "Failed to clean bNES"
${MAKE} $COMPILER -j$JOBS || die "Failed to build bNES"
cp libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"/bnes_libretro.${FORMAT_EXT}
else
echo "bNES not fetched, skipping ..."
fi
}
build_libretro_mupen64()
{
cd "$BASE_DIR"
if [ -d "libretro-mupen64plus" ]; then
cd libretro-mupen64plus
mkdir -p obj
if [ "$X86" ] && [ "$X86_64" ]; then
echo "=== Building Mupen 64 Plus (x86_64 dynarec) ==="
${MAKE} WITH_DYNAREC=x86_64 -j$JOBS clean || die "Failed to clean Mupen 64 (x86_64 dynarec)"
${MAKE} WITH_DYNAREC=x86_64 $COMPILER -j$JOBS || die "Failed to build Mupen 64 (x86_64 dynarec)"
elif [ "$X86" ]; then
echo "=== Building Mupen 64 Plus (x86 32bit dynarec) ==="
${MAKE} WITH_DYNAREC=x86 -j$JOBS clean || die "Failed to clean Mupen 64 (x86 dynarec)"
${MAKE} WITH_DYNAREC=x86 $COMPILER -j$JOBS || die "Failed to build Mupen 64 (x86 dynarec)"
elif [ "$CORTEX_A8" ] || [ "$CORTEX_A9" ]; then
echo "=== Building Mupen 64 Plus (ARM dynarec) ==="
${MAKE} WITH_DYNAREC=arm -j$JOBS clean || die "Failed to clean Mupen 64 (ARM dynarec)"
${MAKE} WITH_DYNAREC=arm $COMPILER -j$JOBS || die "Failed to build Mupen 64 (ARM dynarec)"
else
echo "=== Building Mupen 64 Plus ==="
${MAKE} -j$JOBS clean || die "Failed to clean Mupen 64"
${MAKE} $COMPILER -j$JOBS || die "Failed to build Mupen 64"
fi
cp mupen64plus_libretro${FORMAT}.${FORMAT_EXT} "$RARCH_DIST_DIR"
else
echo "Mupen64 Plus not fetched, skipping ..."
fi
}
build_libretro_picodrive()
{
cd "$BASE_DIR"
pwd
if [ -d "libretro-picodrive" ]; then
echo "=== Building Picodrive ==="
cd libretro-picodrive
${MAKE} -f Makefile.libretro platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS clean || die "Failed to clean Picodrive"
${MAKE} -f Makefile.libretro platform=$FORMAT_COMPILER_TARGET $COMPILER -j$JOBS || die "Failed to build PCSX Picodrive"
cp picodrive_libretro$FORMAT.$FORMAT_EXT "$RARCH_DIST_DIR"
else
echo "Picodrive not fetched, skipping ..."
fi
}
create_dist_dir()
{
if [ -d $RARCH_DIST_DIR ]; then
echo "Directory $RARCH_DIST_DIR already exists, skipping creation..."
else
mkdir -p "$RARCH_DIST_DIR"
fi
}
create_dist_dir