From adc3c9e36b3acd5b315c5aa83d2b61dde5ef5cfc Mon Sep 17 00:00:00 2001 From: Ryan 'Swingflip' Hamlin Date: Sun, 29 Sep 2019 21:41:13 +0100 Subject: [PATCH] SEGA Mini/SNESC update - Replaced crap A7A7 make - Added better targets and clean targets for Sega Mega Drive Mini and (S)NES Classic --- Makefile.classic_armv7_a7 | 92 -------------------------------------- Makefile.classic_sega_mini | 49 ++++++++++++++++++++ Makefile.classic_snesc | 53 ++++++++++++++++++++++ 3 files changed, 102 insertions(+), 92 deletions(-) delete mode 100644 Makefile.classic_armv7_a7 create mode 100644 Makefile.classic_sega_mini create mode 100644 Makefile.classic_snesc diff --git a/Makefile.classic_armv7_a7 b/Makefile.classic_armv7_a7 deleted file mode 100644 index f4286b6f5d..0000000000 --- a/Makefile.classic_armv7_a7 +++ /dev/null @@ -1,92 +0,0 @@ -# This build was put together and is maintained by ModMyClassic.com for Libretro. -# The purpose is to give Libretro a proper "official" build platform for classic consoles. -# If you need any help in building for the classics or have any questions then please visit -# https://modmyclassic.com/comp and we will help in any way possible! - -# Building Prerequisites ############## -# arm-linux-gnueabihf-strip -# patchelf -# bc - -include version.all - -# Classic Readme Variables ############ -CLASSIC_ALT_VER := $(shell echo $(RARCH_VERSION) | tr . _) -CLASSIC_MODS_VER := Official_Retroarch_v$(CLASSIC_ALT_VER) -CLASSIC_MODS_NAME := RetroArch v$(RARCH_VERSION) (Official Optimised) -CLASSIC_VERSION := $(RARCH_VERSION) -MOD_CREATOR := Libretro + ModMyClassic -MOD_CATEGORY := RetroArch -GIT_COMMIT := $(shell echo "`git rev-parse --short HEAD``git diff-index --quiet HEAD -- || echo '-dirty'`") - -# Platform dependant Variables ######## -HAKCHI_DIR := RA_Platform-Hakchi -HAKCHI_GIT := https://github.com/Classicmods/RA_Platform-Hakchi - -# General Shared Variables ############ -TARGET := retroarch - -# Libretro Defines #################### -#HAVE_CLASSIC = Classic Hook, disable some features -#HAVE_C_A7A7 = Classic Armv7 Cortex A7 optimisation override -#HAVE_HAKCHI = Hakchi Hook, change default configurations etc (TODO) - -all: $(TARGET) - -retroarch: - #Build the RetroArch Binary for cross platform classics (ARMv7 Cortex A7) - patchelf --version #Check if you have patchelf installed... (sudo apt-get install patchelf) - CFLAGS="-marm -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard" ./configure --host=arm-linux-gnueabihf --enable-mali_fbdev --disable-freetype --enable-opengles --enable-udev --enable-alsa --enable-neon --enable-floathard --disable-discord - make HAVE_CLASSIC=1 HAVE_C_A7A7=1 HAVE_HAKCHI=1 -j #Cook it - arm-linux-gnueabihf-strip -v retroarch - patchelf --replace-needed libSDL2-2.0.so.0 libSDL2.so retroarch #libSDL2-2.0.so.0 sym link doesn't exist on native build. Just patch the binary... - - #HAKCHI BUILD (NESC, SNESC) - #FYI this build was originally known as RetroArch 'Neo' for Hakchi. - @echo "** BUILDING CLASSIC_MODS HAKCHI - $(CLASSIC_MODS_VER) HMOD PACKAGE **" - rm -fr /tmp/$(HAKCHI_DIR) - cd /tmp/; git clone $(HAKCHI_GIT) - cp retroarch /tmp/$(HAKCHI_DIR)/bin/retroarch - echo $$(echo "Built by: " $$USER @ $$(date) \\\\\\ Git Commit: $(GIT_COMMIT)) > /tmp/$(HAKCHI_DIR)/etc/libretro/retroarch_version - cp /tmp/$(HAKCHI_DIR)/readme.md /tmp/$(HAKCHI_DIR)/readme_COPY.md - printf "%s\n" \ - "---" \ - "Name: $(CLASSIC_MODS_NAME)" \ - "Creator: $(MOD_CREATOR)" \ - "Category: $(MOD_CATEGORY)" \ - "Version: $(CLASSIC_MODS_VER)" \ - "Built on: $(shell date)" \ - "Git commit: $(GIT_COMMIT)" \ - "---" > /tmp/$(HAKCHI_DIR)/readme.md - cat /tmp/$(HAKCHI_DIR)/readme_COPY.md >> /tmp/$(HAKCHI_DIR)/readme.md - rm /tmp/$(HAKCHI_DIR)/readme_COPY.md - @echo "** COMPRESSING $(CLASSIC_MODS_VER) HMOD PACKAGE **" - cd /tmp/$(HAKCHI_DIR)/; tar -czvf "$(CLASSIC_MODS_VER).hmod" * - mv /tmp/$(HAKCHI_DIR)/$(CLASSIC_MODS_VER).hmod . - @echo "** BUILT CLASSIC_MODS HAKCHI - $(CLASSIC_MODS_VER) HMOD PACKAGE **" - rm -fr /tmp/$(HAKCHI_DIR) #clean up tmp - - @echo "*********************************************************************" - @echo "*** Classic ARM7 Cortex A7 build and packages built successfully! ***" - @echo "*********************************************************************" -clean: - rm -rf obj-unix - rm -f *.d - rm -f *.o - rm -f audio/*.o - rm -f conf/*.o - rm -f gfx/*.o - rm -f gfx/drivers_font/*.o - rm -f gfx/drivers_font_renderer/*.o - rm -f gfx/drivers_context/*.o - rm -f gfx/py_state/*.o - rm -f compat/*.o - rm -f record/*.o - rm -f input/*.o - rm -f tools/*.o - rm -f $(BINDIR)/retroarch - rm -f $(BINDIR)/retroarch-joyconfig - rm -f $(PNDDIR)/readme.html - rm -f retroarch - rm -f $(CLASSIC_MODS_VER).hmod - diff --git a/Makefile.classic_sega_mini b/Makefile.classic_sega_mini new file mode 100644 index 0000000000..befbbb128a --- /dev/null +++ b/Makefile.classic_sega_mini @@ -0,0 +1,49 @@ +# This build was put together and is maintained by ModMyClassic.com for Libretro. +# The purpose is to give Libretro a proper "official" build platform for classic consoles. +# If you need any help in building for the classics or have any questions then please visit +# https://modmyclassic.com and we will help in any way possible! + +# Building Prerequisites ############## +# arm-linux-gnueabihf-strip + +include version.all + +# General Shared Variables ############ +TARGET := retroarch + +# Libretro Defines #################### +#HAVE_CLASSIC = Classic Hook, disable some features +#HAVE_C_A7A7 = Classic Armv7 Cortex A7 optimisation override +#HAVE_SEGAM = Sega Mini Hook, change default configurations etc (TODO) + +all: $(TARGET) + +retroarch: + #Build the RetroArch Binary for cross platform classics (ARMv7 Cortex A7) + patchelf --version #Check if you have patchelf installed... (sudo apt-get install patchelf) + CFLAGS="-marm -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard" ./configure --host=arm-linux-gnueabihf --disable-wayland --disable-x11 --disable-opengl --disable-opengl1 --disable-opengl_core --enable-mali_fbdev --disable-freetype --enable-opengles --enable-udev --enable-alsa --enable-neon --enable-floathard --disable-discord + make HAVE_CLASSIC=1 HAVE_C_A7A7=1 HAVE_SEGAM=1 -j #Cook it + arm-linux-gnueabihf-strip -v retroarch + @echo "*********************************************************************" + @echo "*** SEGA Mega Drive Mini RetroArch binary built successfully! ***" + @echo "*********************************************************************" +clean: + rm -rf obj-unix + rm -f *.d + rm -f *.o + rm -f audio/*.o + rm -f conf/*.o + rm -f gfx/*.o + rm -f gfx/drivers_font/*.o + rm -f gfx/drivers_font_renderer/*.o + rm -f gfx/drivers_context/*.o + rm -f gfx/py_state/*.o + rm -f compat/*.o + rm -f record/*.o + rm -f input/*.o + rm -f tools/*.o + rm -f $(BINDIR)/retroarch + rm -f $(BINDIR)/retroarch-joyconfig + rm -f $(PNDDIR)/readme.html + rm -f retroarch + diff --git a/Makefile.classic_snesc b/Makefile.classic_snesc new file mode 100644 index 0000000000..927d8a0a51 --- /dev/null +++ b/Makefile.classic_snesc @@ -0,0 +1,53 @@ +# This build was put together and is maintained by ModMyClassic.com for Libretro. +# The purpose is to give Libretro a proper "official" build platform for classic consoles. +# If you need any help in building for the classics or have any questions then please visit +# https://modmyclassic.com and we will help in any way possible! + +# INFO: THIS BUILD TARGET ALSO COVERS THE NESC!!! + +# Building Prerequisites ############## +# arm-linux-gnueabihf-strip +# patchelf + +include version.all + +# General Shared Variables ############ +TARGET := retroarch + +# Libretro Defines #################### +#HAVE_CLASSIC = Classic Hook, disable some features +#HAVE_C_A7A7 = Classic Armv7 Cortex A7 optimisation override +#HAVE_HAKCHI = Hakchi Hook, change default configurations etc (TODO) + +all: $(TARGET) + +retroarch: + #Build the RetroArch Binary for cross platform classics (ARMv7 Cortex A7) + patchelf --version #Check if you have patchelf installed... (sudo apt-get install patchelf) + CFLAGS="-marm -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard" ./configure --host=arm-linux-gnueabihf --disable-wayland --disable-x11 --disable-opengl --disable-opengl1 --disable-opengl_core --enable-mali_fbdev --disable-freetype --enable-opengles --enable-udev --enable-alsa --enable-neon --enable-floathard --disable-discord + make HAVE_CLASSIC=1 HAVE_C_A7A7=1 HAVE_HAKCHI=1 -j #Cook it + arm-linux-gnueabihf-strip -v retroarch + patchelf --replace-needed libSDL2-2.0.so.0 libSDL2.so retroarch #libSDL2-2.0.so.0 sym link doesn't exist on native build. Just patch the binary... + @echo "*********************************************************************" + @echo "*** NES/SNES Classic RetroArch binary built successfully! ***" + @echo "*********************************************************************" +clean: + rm -rf obj-unix + rm -f *.d + rm -f *.o + rm -f audio/*.o + rm -f conf/*.o + rm -f gfx/*.o + rm -f gfx/drivers_font/*.o + rm -f gfx/drivers_font_renderer/*.o + rm -f gfx/drivers_context/*.o + rm -f gfx/py_state/*.o + rm -f compat/*.o + rm -f record/*.o + rm -f input/*.o + rm -f tools/*.o + rm -f $(BINDIR)/retroarch + rm -f $(BINDIR)/retroarch-joyconfig + rm -f $(PNDDIR)/readme.html + rm -f retroarch +