commit
ee9c283088
|
@ -184,7 +184,9 @@ build_libretro_generic_makefile() {
|
|||
#
|
||||
# $core_build_subdir Subdir of the makefile (if any)
|
||||
# $core_build_makefile Name of the makefile (if not {GNUm,m,M}akefile)
|
||||
# $core_build_args Extra arguments to make
|
||||
# $core_build_platform Usually some variant of $FORMAT_COMPILER_TARGET
|
||||
# $core_build_cores A list of cores produced by the builds
|
||||
build_makefile() {
|
||||
[ -n "$core_build_subdir" ] && core_build_subdir="/$core_build_subdir"
|
||||
|
||||
|
@ -209,14 +211,22 @@ build_makefile() {
|
|||
if [ -d "$build_dir" ]; then
|
||||
echo_cmd "cd \"$build_dir\""
|
||||
|
||||
$core_build_configure
|
||||
|
||||
if [ -z "$NOCLEAN" ]; then
|
||||
echo_cmd "$make_cmdline clean"
|
||||
$core_build_preclean
|
||||
echo_cmd "$make_cmdline $core_build_args clean"
|
||||
fi
|
||||
make_cmdline="$make_cmdline $COMPILER"
|
||||
echo_cmd "$make_cmdline"
|
||||
|
||||
# TODO: Make this a separate stage rule
|
||||
copy_core_to_dist $1
|
||||
$core_build_prebuild
|
||||
echo_cmd "$make_cmdline $core_build_args"
|
||||
|
||||
# TODO: Make this a separate stage/package rule
|
||||
$core_build_prepkg
|
||||
for a in $core_build_cores; do
|
||||
copy_core_to_dist ${core_build_products:+$core_build_products/}$a $a
|
||||
done
|
||||
else
|
||||
echo "$1 not fetched, skipping ..."
|
||||
fi
|
||||
|
@ -262,13 +272,20 @@ libretro_build_core() {
|
|||
|
||||
case "$core_build_rule" in
|
||||
generic_makefile)
|
||||
core_build_configure="libretro_${1}_build_configure"
|
||||
core_build_preclean="libretro_${1}_build_preclean"
|
||||
core_build_prebuild="libretro_${1}_build_prebuild"
|
||||
core_build_prepkg="libretro_${1}_build_prepkg"
|
||||
eval "core_build_makefile=\$libretro_${1}_build_makefile"
|
||||
eval "core_build_subdir=\$libretro_${1}_build_subdir"
|
||||
eval "core_build_args=\$libretro_${1}_build_args"
|
||||
|
||||
# TODO: Really, clean this up...
|
||||
eval "core_build_platform=\$libretro_${1}_build_platform"
|
||||
core_build_platform="${core_build_platform:-$FORMAT_COMPILER_TARGET}$opengl_type"
|
||||
|
||||
eval "core_build_cores=\${libretro_${1}_build_cores:-$1}"
|
||||
eval "core_build_products=\$libretro_${1}_build_products"
|
||||
echo "Building ${1}..."
|
||||
build_makefile $1
|
||||
;;
|
||||
|
@ -407,288 +424,9 @@ create_dist_dir() {
|
|||
create_dist_dir
|
||||
|
||||
|
||||
########## LEGACY RULES
|
||||
# TODO: Safe to delete these when scripts no longer reference them
|
||||
|
||||
build_libretro_2048() {
|
||||
libretro_build_core 2048
|
||||
}
|
||||
build_libretro_3dengine() {
|
||||
libretro_build_core 3dengine
|
||||
}
|
||||
build_libretro_4do() {
|
||||
libretro_build_core 4do
|
||||
}
|
||||
build_libretro_beetle_gba() {
|
||||
libretro_build_core mednafen_gba
|
||||
}
|
||||
build_libretro_beetle_lynx() {
|
||||
libretro_build_core mednafen_lynx
|
||||
}
|
||||
build_libretro_beetle_ngp() {
|
||||
libretro_build_core mednafen_ngp
|
||||
}
|
||||
build_libretro_beetle_pce_fast() {
|
||||
libretro_build_core mednafen_pce_fast
|
||||
}
|
||||
build_libretro_beetle_pcfx() {
|
||||
libretro_build_core mednafen_pcfx
|
||||
}
|
||||
build_libretro_beetle_psx() {
|
||||
libretro_build_core mednafen_psx
|
||||
}
|
||||
build_libretro_beetle_snes() {
|
||||
libretro_build_core mednafen_snes
|
||||
}
|
||||
build_libretro_beetle_supergrafx() {
|
||||
libretro_build_core mednafen_supergrafx
|
||||
}
|
||||
build_libretro_beetle_vb() {
|
||||
libretro_build_core mednafen_vb
|
||||
}
|
||||
build_libretro_beetle_wswan() {
|
||||
libretro_build_core mednafen_wsawn
|
||||
}
|
||||
build_libretro_bluemsx() {
|
||||
libretro_build_core bluemsx
|
||||
}
|
||||
build_libretro_catsfc() {
|
||||
libretro_build_core catsfc
|
||||
}
|
||||
build_libretro_desmume() {
|
||||
libretro_build_core desmume
|
||||
}
|
||||
build_libretro_dinothawr() {
|
||||
libretro_build_core dinothawr
|
||||
}
|
||||
build_libretro_dosbox() {
|
||||
libretro_build_core dosbox
|
||||
}
|
||||
build_libretro_fb_alpha() {
|
||||
libretro_build_core fb_alpha
|
||||
}
|
||||
build_libretro_fceumm() {
|
||||
libretro_build_core fceumm
|
||||
}
|
||||
build_libretro_ffmpeg() {
|
||||
libretro_build_core ffmpeg
|
||||
}
|
||||
build_libretro_fmsx() {
|
||||
libretro_build_core fmsx
|
||||
}
|
||||
build_libretro_fuse() {
|
||||
libretro_build_core fuse
|
||||
}
|
||||
build_libretro_gambatte() {
|
||||
libretro_build_core gambatte
|
||||
}
|
||||
build_libretro_genesis_plus_gx() {
|
||||
libretro_build_core genesis_plus_gx
|
||||
}
|
||||
build_libretro_gpsp() {
|
||||
libretro_build_core gpsp
|
||||
}
|
||||
build_libretro_handy() {
|
||||
libretro_build_core handy
|
||||
}
|
||||
build_libretro_hatari() {
|
||||
libretro_build_core hatari
|
||||
}
|
||||
build_libretro_mame078() {
|
||||
libretro_build_core mame078
|
||||
}
|
||||
build_libretro_mednafen_psx() {
|
||||
libretro_build_core mednafen_psx
|
||||
}
|
||||
build_libretro_meteor() {
|
||||
libretro_build_core meteor
|
||||
}
|
||||
build_libretro_nestopia() {
|
||||
libretro_build_core nestopia
|
||||
}
|
||||
build_libretro_nx() {
|
||||
libretro_build_core nxengine
|
||||
}
|
||||
build_libretro_o2em() {
|
||||
libretro_build_core o2em
|
||||
}
|
||||
build_libretro_picodrive() {
|
||||
libretro_build_core picodrive
|
||||
}
|
||||
build_libretro_ppsspp() {
|
||||
libretro_build_core ppsspp
|
||||
}
|
||||
build_libretro_prboom() {
|
||||
libretro_build_core prboom
|
||||
}
|
||||
build_libretro_prosystem() {
|
||||
libretro_build_core prosystem
|
||||
}
|
||||
build_libretro_quicknes() {
|
||||
libretro_build_core quicknes
|
||||
}
|
||||
build_libretro_scummvm() {
|
||||
libretro_build_core scummvm
|
||||
}
|
||||
build_libretro_snes9x() {
|
||||
libretro_build_core snes9x
|
||||
}
|
||||
build_libretro_snes9x_next() {
|
||||
libretro_build_core snes9x_next
|
||||
}
|
||||
build_libretro_stella() {
|
||||
libretro_build_core stella
|
||||
}
|
||||
build_libretro_stonesoup() {
|
||||
libretro_build_core stonesoup
|
||||
}
|
||||
build_libretro_tgbdual() {
|
||||
libretro_build_core tgbdual
|
||||
}
|
||||
build_libretro_tyrquake() {
|
||||
libretro_build_core tyrquake
|
||||
}
|
||||
build_libretro_vba_next() {
|
||||
libretro_build_core vba_next
|
||||
}
|
||||
build_libretro_vbam() {
|
||||
libretro_build_core vbam
|
||||
}
|
||||
build_libretro_vecx() {
|
||||
libretro_build_core vecx
|
||||
}
|
||||
build_libretro_virtualjaguar() {
|
||||
libretro_build_core virtualjaguar
|
||||
}
|
||||
build_libretro_yabause() {
|
||||
libretro_build_core yabause
|
||||
}
|
||||
build_libretro_gw() {
|
||||
libretro_build_core gw
|
||||
}
|
||||
build_libretro_lutro() {
|
||||
libretro_build_core lutro
|
||||
}
|
||||
|
||||
########## LEGACY RULES
|
||||
# TODO: Port these to modern rules
|
||||
|
||||
build_libretro_bnes() {
|
||||
build_dir="$WORKDIR/libretro-bnes"
|
||||
|
||||
if build_should_skip bnes "$build_dir"; then
|
||||
echo "Core bnes is already built, skipping..."
|
||||
return
|
||||
fi
|
||||
|
||||
if [ -d "$build_dir" ]; then
|
||||
echo '=== Building bNES ==='
|
||||
echo_cmd "cd \"$build_dir\""
|
||||
|
||||
mkdir -p obj
|
||||
if [ -z "$NOCLEAN" ]; then
|
||||
echo_cmd "$MAKE -f Makefile \"-j$JOBS\" clean" || die 'Failed to clean bNES'
|
||||
fi
|
||||
echo_cmd "$MAKE -f Makefile $COMPILER \"-j$JOBS\" compiler=\"${CXX11}\"" || die 'Failed to build bNES'
|
||||
copy_core_to_dist "bnes"
|
||||
build_save_revision $? "bnes"
|
||||
else
|
||||
echo 'bNES not fetched, skipping ...'
|
||||
fi
|
||||
}
|
||||
|
||||
build_libretro_bsnes_modern() {
|
||||
build_dir="$WORKDIR/libretro-$1"
|
||||
if [ -d "$build_dir" ]; then
|
||||
echo "=== Building $1 ==="
|
||||
echo_cmd "cd \"$build_dir\""
|
||||
|
||||
if [ -z "$NOCLEAN" ]; then
|
||||
echo_cmd "rm -f obj/*.{o,\"$FORMAT_EXT\"}"
|
||||
echo_cmd "rm -f out/*.{o,\"$FORMAT_EXT\"}"
|
||||
fi
|
||||
|
||||
cmdline="$MAKE target=libretro -j$JOBS"
|
||||
cmdline="$cmdline platform=\"$FORMAT_COMPILER_TARGET\""
|
||||
cmdline="$cmdline compiler=\"$CXX11\""
|
||||
ret=0
|
||||
for a in accuracy balanced performance; do
|
||||
echo_cmd "$cmdline profile=$a"
|
||||
copy_core_to_dist "out/${1}_$a" "${1}_$a"
|
||||
[ $ret -eq 0 ] || break
|
||||
done
|
||||
|
||||
return $ret
|
||||
else
|
||||
echo "$1 not fetched, skipping ..."
|
||||
fi
|
||||
}
|
||||
|
||||
build_libretro_bsnes() {
|
||||
if build_should_skip bsnes "$WORKDIR/libretro-bsnes"; then
|
||||
echo "Core bsnes is already built, skipping..."
|
||||
return
|
||||
fi
|
||||
|
||||
build_libretro_bsnes_modern "bsnes"
|
||||
build_save_revision $? bsnes
|
||||
}
|
||||
|
||||
build_libretro_bsnes_cplusplus98() {
|
||||
CORENAME="bsnes_cplusplus98"
|
||||
build_dir="$WORKDIR/libretro-$CORENAME"
|
||||
|
||||
if build_should_skip $CORENAME "$build_dir"; then
|
||||
echo "Core $CORENAME is already built, skipping..."
|
||||
return
|
||||
fi
|
||||
|
||||
if [ -d "$build_dir" ]; then
|
||||
echo "=== Building $CORENAME ==="
|
||||
echo_cmd "cd \"$build_dir\""
|
||||
|
||||
if [ -z "$NOCLEAN" ]; then
|
||||
# byuu's "make clean" doesn't
|
||||
echo_cmd "rm -f obj/*.{o,\"$FORMAT_EXT\"}"
|
||||
echo_cmd "rm -f out/*.{o,\"$FORMAT_EXT\"}"
|
||||
fi
|
||||
|
||||
echo_cmd "$MAKE platform=\"$FORMAT_COMPILER_TARGET\" $COMPILER \"-j$JOBS\""
|
||||
copy_core_to_dist "out/$CORENAME" "$CORENAME"
|
||||
build_save_revision $? $CORENAME
|
||||
else
|
||||
echo "$CORENAME not fetched, skipping ..."
|
||||
fi
|
||||
}
|
||||
|
||||
build_libretro_bsnes_mercury() {
|
||||
if build_should_skip bsnes_mercury "$WORKDIR/libretro-bsnes"; then
|
||||
echo "Core bsnes_mercury is already built, skipping..."
|
||||
return
|
||||
fi
|
||||
|
||||
build_libretro_bsnes_modern "bsnes_mercury"
|
||||
build_save_revision $? bsnes_mercury
|
||||
}
|
||||
|
||||
|
||||
build_libretro_emux() {
|
||||
if build_should_skip emux "$WORKDIR/libretro-emux"; then
|
||||
echo "Cores for emux are already built, skipping..."
|
||||
return
|
||||
fi
|
||||
|
||||
build_libretro_generic_makefile "emux" "libretro" "Makefile" $FORMAT_COMPILER_TARGET 1
|
||||
|
||||
copy_core_to_dist "emux_chip8"
|
||||
copy_core_to_dist "emux_gb"
|
||||
copy_core_to_dist "emux_nes"
|
||||
copy_core_to_dist "emux_sms"
|
||||
|
||||
# TODO: Check for more than emux_sms here...
|
||||
build_save_revision $? "emux"
|
||||
}
|
||||
|
||||
build_libretro_mupen64() {
|
||||
if check_opengl; then
|
||||
build_dir="$WORKDIR/libretro-mupen64plus"
|
||||
|
@ -701,8 +439,6 @@ build_libretro_mupen64() {
|
|||
if [ -d "$build_dir" ]; then
|
||||
echo_cmd "cd \"$build_dir\""
|
||||
|
||||
mkdir -p obj
|
||||
|
||||
if iscpu_x86_64 $ARCH; then
|
||||
dynarec="WITH_DYNAREC=x86_64"
|
||||
elif iscpu_x86 $ARCH; then
|
||||
|
|
|
@ -3,8 +3,9 @@
|
|||
register_core "bsnes" -theos_ios -ngc -ps3 -psp1 -qnx -wii
|
||||
libretro_bsnes_name="bsnes/higan"
|
||||
libretro_bsnes_git_url="https://github.com/libretro/bsnes-libretro.git"
|
||||
libretro_bsnes_build_rule=legacy
|
||||
libretro_bsnes_build_legacy=build_libretro_bsnes
|
||||
libretro_bsnes_build_args="compiler=\"${CXX11}\""
|
||||
libretro_bsnes_build_products="out"
|
||||
libretro_bsnes_build_cores="bsnes_accuracy bsnes_balanced bsnes_performance"
|
||||
|
||||
register_core "snes9x" -ngc -ps3 -psp1 -wii
|
||||
libretro_snes9x_name="SNES9x"
|
||||
|
@ -53,8 +54,7 @@ libretro_cap32_build_makefile="Makefile"
|
|||
register_core "bnes" -ios -theos_ios -ngc -ps3 -psp1 -qnx -wii
|
||||
libretro_bnes_name="bnes/higan"
|
||||
libretro_bnes_git_url="https://github.com/libretro/bnes-libretro.git"
|
||||
libretro_bnes_build_rule=legacy
|
||||
libretro_bnes_build_legacy=build_libretro_bnes
|
||||
libretro_bnes_build_args="compiler=\"${CXX11}\""
|
||||
|
||||
register_core "fceumm"
|
||||
libretro_fceumm_name="FCEUmm"
|
||||
|
@ -200,14 +200,14 @@ libretro_ffmpeg_build_opengl="optional"
|
|||
register_core "bsnes_cplusplus98" -theos_ios -ngc -ps3 -psp1 -wii
|
||||
libretro_bsnes_cplusplus98_name="bsnes C++98 (v0.85)"
|
||||
libretro_bsnes_cplusplus98_git_url="https://github.com/libretro/bsnes-libretro-cplusplus98.git"
|
||||
libretro_bsnes_cplusplus98_build_rule=legacy
|
||||
libretro_bsnes_cplusplus98_build_legacy=build_libretro_bsnes_cplusplus98
|
||||
libretro_bsnes_cplusplus98_build_products="out"
|
||||
|
||||
register_core "bsnes_mercury" -theos_ios -ngc -ps3 -psp1 -qnx -wii
|
||||
libretro_bsnes_mercury_name="bsnes-mercury"
|
||||
libretro_bsnes_mercury_git_url="https://github.com/libretro/bsnes-mercury.git"
|
||||
libretro_bsnes_mercury_build_rule=legacy
|
||||
libretro_bsnes_mercury_build_legacy=build_libretro_bsnes_mercury
|
||||
libretro_bsnes_mercury_build_args="compiler=\"${CXX11}\""
|
||||
libretro_bsnes_mercury_build_products="out"
|
||||
libretro_bsnes_mercury_build_cores="bsnes_mercury_accuracy bsnes_mercury_balanced bsnes_mercury_performance"
|
||||
|
||||
register_core "picodrive" -theos_ios -ngc -ps3 -wii
|
||||
libretro_picodrive_name="Picodrive"
|
||||
|
@ -309,8 +309,8 @@ libretro_gpsp_git_url="https://github.com/libretro/gpsp.git"
|
|||
register_core "emux" -theos_ios -ngc -ps3 -psp1 -qnx -wii
|
||||
libretro_emux_name="Emux"
|
||||
libretro_emux_git_url="https://github.com/libretro/emux.git"
|
||||
libretro_emux_build_rule=legacy
|
||||
libretro_emux_build_legacy=build_libretro_emux
|
||||
libretro_emux_build_subdir=libretro
|
||||
libretro_emux_build_cores="emux_chip8 emux_gb emux_nes emux_sms"
|
||||
|
||||
register_core "fuse" -theos_ios -ngc -ps3 -psp1 -qnx -wii
|
||||
libretro_fuse_name="Fuse"
|
||||
|
@ -394,12 +394,22 @@ libretro_lutro_game_of_life_git_url="https://github.com/libretro/lutro-game-of-l
|
|||
# build_makefile Name of makefile
|
||||
# If unset, GNU make has rules for default makefile names
|
||||
#
|
||||
# build_subdir The subdir containing the makefile, if any
|
||||
#
|
||||
# build_args Any extra arguments to pass to make
|
||||
#
|
||||
# build_platform Set to override the default platform
|
||||
# (e.g., $FORMAT_COMPILER_TARGET_ALT)
|
||||
#
|
||||
# build_opengl Set to "optional" to use OpenGL/GLES if available
|
||||
# Set to "yes" if the core requires it
|
||||
#
|
||||
# build_cores String containing the core(s) produced
|
||||
# Defaults to "<core>"
|
||||
#
|
||||
# build_products Directory build products are located in
|
||||
# bsnes puts cores in "out" for some reason
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# libretro_dinothawr_git_url="https://github.com/libretro/Dinothawr.git"
|
||||
|
|
Loading…
Reference in New Issue