worked out core build process
This commit is contained in:
parent
1818daff4a
commit
22a75c0180
3 changed files with 95 additions and 2 deletions
6
.gitignore
vendored
6
.gitignore
vendored
|
|
@ -7,4 +7,8 @@ releases/
|
||||||
*.o
|
*.o
|
||||||
*.so
|
*.so
|
||||||
*.elf
|
*.elf
|
||||||
*.dtb
|
*.dtb
|
||||||
|
|
||||||
|
# thanks I hate it
|
||||||
|
src/minarch/cores/*
|
||||||
|
!src/minarch/cores/makefile
|
||||||
|
|
|
||||||
14
makefile
14
makefile
|
|
@ -32,7 +32,7 @@ sys:
|
||||||
cd ./src/minui && make
|
cd ./src/minui && make
|
||||||
|
|
||||||
cores:
|
cores:
|
||||||
echo "TODO: cores"
|
cd ./src/minarch/cores && make
|
||||||
|
|
||||||
tools:
|
tools:
|
||||||
cd ./src/clock && make
|
cd ./src/clock && make
|
||||||
|
|
@ -59,6 +59,18 @@ bundle:
|
||||||
cp ./src/minarch/minarch.elf ./build/SYSTEM/rg35xx/bin
|
cp ./src/minarch/minarch.elf ./build/SYSTEM/rg35xx/bin
|
||||||
cp ./src/minui/minui.elf ./build/SYSTEM/rg35xx/paks/MinUI.pak
|
cp ./src/minui/minui.elf ./build/SYSTEM/rg35xx/paks/MinUI.pak
|
||||||
cp ./src/clock/clock.elf ./build/EXTRAS/Tools/rg35xx/Clock.pak
|
cp ./src/clock/clock.elf ./build/EXTRAS/Tools/rg35xx/Clock.pak
|
||||||
|
|
||||||
|
# stock cores
|
||||||
|
cp ./src/minarch/cores/fceumm_libretro.so ./build/SYSTEM/rg35xx/cores
|
||||||
|
cp ./src/minarch/cores/gambatte_libretro.so ./build/SYSTEM/rg35xx/cores
|
||||||
|
cp ./src/minarch/cores/gpsp_libretro.so ./build/SYSTEM/rg35xx/cores
|
||||||
|
cp ./src/minarch/cores/pcsx_rearmed_libretro.so ./build/SYSTEM/rg35xx/cores
|
||||||
|
cp ./src/minarch/cores/picodrive_libretro.so ./build/EXTRAS/Emus/rg35xx/PKM.pak
|
||||||
|
cp ./src/minarch/cores/snes9x2005_plus_libretro.so ./build/SYSTEM/rg35xx/cores
|
||||||
|
|
||||||
|
# extras
|
||||||
|
cp ./src/minarch/cores/beetle-vb_libretro.so ./build/EXTRAS/Emus/rg35xx/VB.pak
|
||||||
|
cp ./src/minarch/cores/pokemini_libretro.so ./build/SYSTEM/rg35xx/cores
|
||||||
cp ./third-party/DinguxCommander/output/DinguxCommander ./build/EXTRAS/Tools/rg35xx/Files.pak
|
cp ./third-party/DinguxCommander/output/DinguxCommander ./build/EXTRAS/Tools/rg35xx/Files.pak
|
||||||
cp -R ./third-party/DinguxCommander/res ./build/EXTRAS/Tools/rg35xx/Files.pak/
|
cp -R ./third-party/DinguxCommander/res ./build/EXTRAS/Tools/rg35xx/Files.pak/
|
||||||
|
|
||||||
|
|
|
||||||
77
src/minarch/cores/makefile
Normal file
77
src/minarch/cores/makefile
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
# this logic was broken out from picoarch's all-in-one makefile
|
||||||
|
|
||||||
|
CORES = fceumm gambatte gpsp pcsx_rearmed picodrive pokemini snes9x2005_plus
|
||||||
|
CORES+= beetle-vb
|
||||||
|
|
||||||
|
###############################
|
||||||
|
|
||||||
|
# optional core vars
|
||||||
|
# *_REPO=
|
||||||
|
# *_HASH=
|
||||||
|
# *_CORE=
|
||||||
|
# *_FLAGS=
|
||||||
|
# *_MAKEFILE=
|
||||||
|
# *_BUILD_PATH=
|
||||||
|
|
||||||
|
beetle-vb_REPO = https://github.com/libretro/beetle-vb-libretro
|
||||||
|
beetle-vb_CORE = mednafen_vb_libretro.so
|
||||||
|
|
||||||
|
fceumm_REPO = https://github.com/libretro/libretro-fceumm
|
||||||
|
|
||||||
|
gambatte_REPO = https://github.com/libretro/gambatte-libretro
|
||||||
|
|
||||||
|
pcsx_rearmed_MAKEFILE = Makefile.libretro
|
||||||
|
|
||||||
|
picodrive_REPO = https://github.com/irixxxx/picodrive
|
||||||
|
picodrive_MAKEFILE = Makefile.libretro
|
||||||
|
|
||||||
|
pokemini_REPO = https://github.com/libretro/PokeMini
|
||||||
|
pokemini_MAKEFILE = Makefile.libretro
|
||||||
|
|
||||||
|
snes9x2005_plus_REPO = https://github.com/libretro/snes9x2005
|
||||||
|
snes9x2005_plus_FLAGS = USE_BLARGG_APU=1
|
||||||
|
|
||||||
|
###############################
|
||||||
|
|
||||||
|
PATCH = git apply
|
||||||
|
PROCS = -j4
|
||||||
|
|
||||||
|
###############################
|
||||||
|
|
||||||
|
define TEMPLATE=
|
||||||
|
|
||||||
|
$1_REPO ?= https://github.com/libretro/$(1)
|
||||||
|
$1_MAKE ?= make $(and $($1_MAKEFILE),-f $($1_MAKEFILE)) platform=$(UNION_PLATFORM) $($(1)_FLAGS)
|
||||||
|
$1_BUILD_PATH ?= $(1)
|
||||||
|
|
||||||
|
$(1):
|
||||||
|
mkdir -p cores
|
||||||
|
cd cores && git clone $(if $($1_HASH),,--depth 1) --recursive $$($(1)_REPO) $(1)
|
||||||
|
$(if $($1_HASH),cd $$($1_BUILD_PATH) && git checkout $($1_HASH) && echo $($1_HASH),)
|
||||||
|
|
||||||
|
$(1)/.patched: $(1)
|
||||||
|
(test ! -f patches/$(1).patch) || (test -f $(1)/.patched) || (cd $(1) && $(PATCH) -p1 < ../../patches/$(1).patch && touch .patched && true)
|
||||||
|
|
||||||
|
$(1)_libretro.so: $(1)/.patched
|
||||||
|
cd $$($1_BUILD_PATH) && $$($1_MAKE) $(PROCS)
|
||||||
|
mv $$($1_BUILD_PATH)/$(if $($(1)_CORE),$($(1)_CORE),$(1)_libretro.so) $(1)_libretro.so
|
||||||
|
|
||||||
|
clone-$(1): $(1)
|
||||||
|
|
||||||
|
patch-$(1): $(1)/.patched
|
||||||
|
|
||||||
|
clean-$(1):
|
||||||
|
test ! -d $(1) || cd $$($1_BUILD_PATH) && $$($1_MAKE) clean
|
||||||
|
rm -rf $(1)_libretro.so
|
||||||
|
|
||||||
|
$(1): $(1)_libretro.so
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
|
###############################
|
||||||
|
|
||||||
|
all: cores
|
||||||
|
|
||||||
|
$(foreach CORE,$(CORES),$(eval $(call TEMPLATE,$(CORE))))
|
||||||
|
|
||||||
|
cores: $(foreach CORE,$(CORES),$(CORE)_libretro.so)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue