From 54137032c875102ae1a16b25bb2a70a190b2ac28 Mon Sep 17 00:00:00 2001 From: Michel-FK Date: Thu, 28 May 2020 23:28:12 +0200 Subject: [PATCH] Added FunKey-Emulator-PocketSNES --- FunKey/Config.in | 1 + FunKey/package/PocketSNES/Config.in | 12 ++++ FunKey/package/PocketSNES/PocketSNES.mk | 74 +++++++++++++++++++++++++ 3 files changed, 87 insertions(+) create mode 100644 FunKey/package/PocketSNES/Config.in create mode 100644 FunKey/package/PocketSNES/PocketSNES.mk diff --git a/FunKey/Config.in b/FunKey/Config.in index 380cd05..cb1c277 100644 --- a/FunKey/Config.in +++ b/FunKey/Config.in @@ -5,3 +5,4 @@ source "$BR2_EXTERNAL_FUNKEY_PATH/package/PCSX-ReARMed/Config.in" source "$BR2_EXTERNAL_FUNKEY_PATH/package/FCEUX/Config.in" source "$BR2_EXTERNAL_FUNKEY_PATH/package/gnuboy/Config.in" source "$BR2_EXTERNAL_FUNKEY_PATH/package/picodrive/Config.in" +source "$BR2_EXTERNAL_FUNKEY_PATH/package/PocketSNES/Config.in" diff --git a/FunKey/package/PocketSNES/Config.in b/FunKey/package/PocketSNES/Config.in new file mode 100644 index 0000000..b6dc59a --- /dev/null +++ b/FunKey/package/PocketSNES/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_POCKETSNES + bool "PocketSNES" + default y + select BR2_PACKAGE_SDL + select BR2_PACKAGE_SDL_IMAGE + select BR2_PACKAGE_SDL_MIXER + select BR2_PACKAGE_SDL_TTF + select BR2_PACKAGE_ZLIB + help + An open source Super NES Emulator. + + https://github.com/buzztiaan/PocketSNES diff --git a/FunKey/package/PocketSNES/PocketSNES.mk b/FunKey/package/PocketSNES/PocketSNES.mk new file mode 100644 index 0000000..9202170 --- /dev/null +++ b/FunKey/package/PocketSNES/PocketSNES.mk @@ -0,0 +1,74 @@ +################################################################################ +# +# PocketSNES +# +################################################################################ + +POCKETSNES_VERSION = 3dea12bf8843a3f907f4e0c8205c9d9d59fb8021 +POCKETSNES_SITE_METHOD = git +POCKETSNES_SITE = ssh://git@fk/FunKey-Project/FunKey-Emulator-PocketSNES +POCKETSNES_LICENSE = GPL-2.0 +POCKETSNES_LICENSE_FILES = COPYING + +POCKETSNES_DEPENDENCIES = sdl sdl_image sdl_mixer sdl_ttf zlib + +POCKETSNES_CFLAGS = $(TARGET_CFLAGS) + +ifeq ($(BR2_ARM_CPU_ARMV7A),y) +POCKETSNES_CFLAGS += -march=armv7-a +endif + +ifeq ($(BR2_GCC_TARGET_CPU),"cortex-a7") +POCKETSNES_CFLAGS += -mtune=cortex-a7 +endif + +ifeq ($(BR2_GCC_TARGET_FLOAT_ABI),"hard") +POCKETSNES_CFLAGS += -mfloat-abi=hard -ffast-math -funsafe-math-optimizations +else ifeq ($(BR2_GCC_TARGET_FLOAT_ABI),"soft") +POCKETSNES_CFLAGS += -mfloat-abi=soft -ffast-math -funsafe-math-optimizations +endif + +ifeq ($(BR2_ARM_CPU_HAS_NEON),y) +POCKETSNES_CFLAGS += -D__ARM_NEON__ -mfpu=neon -mvectorize-with-neon-quad +endif + +POCKETSNES_SDL_CFLAGS += $(shell $(STAGING_DIR)/usr/bin/sdl-config --cflags) +POCKETSNES_SDL_LIBS += $(shell $(STAGING_DIR)/usr/bin/sdl-config --libs) + +POCKETSNES_INCLUDE = -I pocketsnes \ + -I sal/linux/include -I sal/include \ + -I pocketsnes/include \ + -I menu -I pocketsnes/linux -I pocketsnes/snes9x + +POCKETSNES_CFLAGS += -ggdb -O3 +POCKETSNES_CFLAGS += -fomit-frame-pointer -fomit-frame-pointer -fexpensive-optimizations +POCKETSNES_CFLAGS += $(POCKETSNES_INCLUDE) +POCKETSNES_CFLAGS += $(POCKETSNES_SDL_CFLAGS) +POCKETSNES_CFLAGS += -DRC_OPTIMIZED -D__LINUX__ -D__DINGUX__ -DNO_ROM_BROWSER -DGCW_ZERO + +POCKETSNES_CXXFLAGS += $(POCKETSNES_INCLUDE) +POCKETSNES_CXXFLAGS += -fno-exceptions -fno-rtti + +POCKETSNES_LDFLAGS += -s -fprofile-generate -fprofile-dir=/home/retrofw/profile/pocket_snes \ + -fno-strict-aliasing + +POCKETSNES_LDFLAGS += $(POCKETSNES_SDL_LIBS) +POCKETSNES_LDFLAGS += -lgcc -lpthread -lSDL_image -lSDL_ttf -lpng -lm -lz + +define POCKETSNES_BUILD_CMDS + (cd $(@D); \ + make \ + CFLAGS='$(POCKETSNES_CFLAGS)' \ + CXXFLAGS='$(POCKETSNES_CXXFLAGS)' \ + LDFLAGS='$(POCKETSNES_LDFLAGS)' \ + CC='$(TARGET_CC)' \ + CXX='$(TARGET_CXX)' \ + ) +endef + +define POCKETSNES_INSTALL_TARGET_CMDS + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/games + $(INSTALL) -m 0755 $(@D)/psnes $(TARGET_DIR)/usr/games/psnes +endef + +$(eval $(generic-package))