diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 56 |
1 files changed, 38 insertions, 18 deletions
@@ -5,7 +5,9 @@ USE_BLARGG_APU = 0 LAGFIX = 1 ifeq ($(platform),) - platform = unix + ifeq (,$(findstring classic_,$(platform))) + platform = unix + endif ifeq ($(shell uname -a),) platform = win else ifneq ($(findstring Darwin,$(shell uname -a)),) @@ -223,12 +225,38 @@ else ifeq ($(platform), gcw0) LIBM := LOAD_FROM_MEMORY_TEST = 0 CFLAGS += -ffast-math -march=mips32 -mtune=mips32r2 -mhard-float -#Nintendo Classics (Hakchi) -else ifeq ($(platform), nintendoc) - TARGET := $(TARGET_NAME)_libretro.so - fpic := -fPIC - SHARED := -shared -Wl,--no-undefined -Wl,--version-script=link.T - CFLAGS += -fno-builtin -fno-exceptions -ffunction-sections -DARM -marm -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard + +# (armv7 a7, hard point, neon based) ### +# NESC, SNESC, C64 mini +else ifeq ($(platform), classic_armv7_a7) + TARGET := $(TARGET_NAME)_libretro.so + fpic := -fPIC + SHARED := -shared -Wl,--version-script=libretro/link.T -Wl,--no-undefined + CFLAGS += -Ofast \ + -flto=4 -fwhole-program -fuse-linker-plugin \ + -fdata-sections -ffunction-sections -Wl,--gc-sections \ + -fno-stack-protector -fno-ident -fomit-frame-pointer \ + -falign-functions=1 -falign-jumps=1 -falign-loops=1 \ + -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-unroll-loops \ + -fmerge-all-constants -fno-math-errno \ + -marm -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard + CXXFLAGS += $(CFLAGS) + CPPFLAGS += $(CFLAGS) + ASFLAGS += $(CFLAGS) + HAVE_NEON = 1 + ARCH = arm + BUILTIN_GPU = neon + USE_DYNAREC = 1 + ifeq ($(shell echo `$(CC) -dumpversion` "< 4.9" | bc -l), 1) + CFLAGS += -march=armv7-a + else + CFLAGS += -march=armv7ve + # If gcc is 5.0 or later + ifeq ($(shell echo `$(CC) -dumpversion` ">= 5" | bc -l), 1) + LDFLAGS += -static-libgcc -static-libstdc++ + endif + endif +####################################### # Windows MSVC 2010 x86 else ifeq ($(platform), windows_msvc2010_x86) @@ -359,24 +387,16 @@ ifeq ($(platform), theos_ios) else all: $(TARGET) $(TARGET): $(OBJECTS) + @echo "** BUILDING $(TARGET) FOR PLATFORM $(platform) **" ifeq ($(STATIC_LINKING), 1) $(AR) rcs $@ $(OBJECTS) else $(CC) $(LINKOUT)$@ $(OBJECTS) $(LDFLAGS) $(LIBS) endif - -ifeq ($(platform),nintendoc) - @echo "** BUILDING HAKCHI HMOD PACKAGE **" - mkdir -p hakchi/etc/libretro/core/ hakchi/etc/libretro/info/ hakchi/etc/preinit.d/ - rm -f hakchi/etc/libretro/info/* - cp $(TARGET_NAME)_libretro.so hakchi/etc/libretro/core/ - cd hakchi/etc/libretro/info/; wget https://buildbot.libretro.com/assets/frontend/info/$(TARGET_NAME)_libretro.info - cd hakchi/; tar -czvf "CORE_$(TARGET_NAME).hmod" * -endif - + @echo "** BUILD SUCCESSFUL! GG NO RE **" clean: - rm -f $(TARGET) $(OBJECTS) hakchi/CORE_$(TARGET_NAME).hmod + rm -f $(TARGET) $(OBJECTS) .PHONY: clean endif |