X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile.libretro;h=28a47fdafb9e44d3cebe767e9aae9b4a217542e8;hb=0963774720493115d123104f9ddc506d49a886bc;hp=0544aabf2160326e410c3ff0793467b1c0caf9ce;hpb=7be95fd4c7023ef6143103e4f785c7368744153c;p=pcsx_rearmed.git diff --git a/Makefile.libretro b/Makefile.libretro index 0544aabf..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,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) @@ -235,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 @@ -279,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