Merge pull request #236 from retro-wertz/3ds
[pcsx_rearmed.git] / Makefile.libretro
index 84e242d..2c22b8a 100644 (file)
@@ -1,6 +1,7 @@
 # Makefile for PCSX ReARMed (libretro)
 
 DEBUG=0
+WANT_ZLIB=1
 
 ifeq ($(platform),)
        platform = unix
@@ -26,13 +27,16 @@ GIT_VERSION := " $(shell git rev-parse --short HEAD || echo unknown)"
 ifneq ($(GIT_VERSION)," unknown")
        CFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\"
 endif
+ifneq ($(WANT_ZLIB),1)
 LIBZ := -lz
+endif
 LIBPTHREAD := -lpthread
 ifneq ($(findstring Haiku,$(shell uname -s)),)
 LIBDL := -lroot -lnetwork
 else
 LIBDL := -ldl
 endif
+LIBM := -lm
 MMAP_WIN32=0
 EXTRA_LDFLAGS =
 
@@ -51,6 +55,7 @@ else ifeq ($(platform), linux-portable)
        LIBZ :=
        LIBPTHREAD :=
        LIBDL :=
+       LIBM :=
        NO_UNDEF_CHECK = 1
 
 # OS X
@@ -167,7 +172,7 @@ else ifeq ($(platform), ctr)
        CFLAGS += -Werror=implicit-function-declaration
 
 #      CFLAGS += -DPCSX
-       BUILTIN_GPU = unai
+#      BUILTIN_GPU = unai
        USE_DYNAREC = 1
        DRC_CACHE_BASE = 0
        ARCH = arm
@@ -212,6 +217,7 @@ else ifeq ($(platform), qnx)
        MAIN_LDLIBS += -lsocket
        LIBPTHREAD :=
        LIBDL :=
+       LIBM :=
 
 #Raspberry Pi 2
 else ifeq ($(platform), rpi2)
@@ -237,6 +243,7 @@ else ifeq ($(platform), rpi3)
 
 # Classic Platforms ####################
 # Platform affix = classic_<ISA>_<µARCH>
+# Help at https://modmyclassic.com/comp
 
 # (armv7 a7, hard point, neon based) ### 
 # NESC, SNESC, C64 mini 
@@ -250,14 +257,23 @@ else ifeq ($(platform), classic_armv7_a7)
        -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 -march=armv7ve -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard #armv7-a for older GCC i.e. 4.8
+       -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
 #######################################
 
 # ARM
@@ -304,11 +320,12 @@ else
        MAIN_LDLIBS += -lws2_32
        LIBPTHREAD :=
        LIBDL :=
+       LIBM :=
 endif
 
 CFLAGS += $(fpic)
 MAIN_LDFLAGS += -shared
-MAIN_LDLIBS += $(LIBPTHREAD) $(LIBDL) $(LIBZ)
+MAIN_LDLIBS += $(LIBPTHREAD) $(LIBM) $(LIBDL) $(LIBZ)
 
 # try to autodetect stuff for the lazy
 ifndef ARCH