X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile.libretro;h=28a47fdafb9e44d3cebe767e9aae9b4a217542e8;hb=2a8fedf7715b816d95467fe261edd3c8372bd34b;hp=a82a13ad27bc8e9695790d67570f655f1c9b7102;hpb=cf1d58b351c9b05875c7a14b6c2e26afc6694ace;p=pcsx_rearmed.git diff --git a/Makefile.libretro b/Makefile.libretro index a82a13ad..28a47fda 100644 --- a/Makefile.libretro +++ b/Makefile.libretro @@ -1,6 +1,7 @@ # Makefile for PCSX ReARMed (libretro) DEBUG=0 +WANT_ZLIB=1 ifeq ($(platform),) platform = unix @@ -26,9 +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 = @@ -36,7 +44,7 @@ EXTRA_LDFLAGS = ifeq ($(platform), unix) TARGET := $(TARGET_NAME)_libretro.so fpic := -fPIC -ifneq ($(findstring SunOS,$(shell uname -a)),) +ifneq ($(findstring SunOS,$(shell uname -s)),) CC = gcc endif @@ -47,6 +55,7 @@ else ifeq ($(platform), linux-portable) LIBZ := LIBPTHREAD := LIBDL := + LIBM := NO_UNDEF_CHECK = 1 # OS X @@ -163,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 @@ -208,6 +217,7 @@ else ifeq ($(platform), qnx) MAIN_LDLIBS += -lsocket LIBPTHREAD := LIBDL := + LIBM := #Raspberry Pi 2 else ifeq ($(platform), rpi2) @@ -231,6 +241,41 @@ else ifeq ($(platform), rpi3) BUILTIN_GPU = neon USE_DYNAREC = 1 +# Classic Platforms #################### +# Platform affix = classic__<µARCH> +# Help at https://modmyclassic.com/comp + +# (armv7 a7, hard point, neon based) ### +# NESC, SNESC, C64 mini +else ifeq ($(platform), classic_armv7_a7) + TARGET := $(TARGET_NAME)_libretro.so + fpic := -fPIC + 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 +####################################### + # ARM else ifneq (,$(findstring armv,$(platform))) TARGET := $(TARGET_NAME)_libretro.so @@ -239,6 +284,10 @@ else ifneq (,$(findstring armv,$(platform))) ifneq (,$(findstring cortexa8,$(platform))) CFLAGS += -marm -mcpu=cortex-a8 ASFLAGS += -mcpu=cortex-a8 + else ifneq (,$(findstring cortexa7,$(platform))) + CFLAGS += -marm -mcpu=cortex-a7 + ASFLAGS += -mcpu=cortex-a7 + LIBZ := else ifneq (,$(findstring cortexa9,$(platform))) CFLAGS += -marm -mcpu=cortex-a9 ASFLAGS += -mcpu=cortex-a9 @@ -271,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