Add -DFAMEC_NO_GOTOS for OSX PPC GCC build
[picodrive.git] / Makefile.libretro
index 141277c..361ae15 100644 (file)
@@ -8,6 +8,10 @@ else ifneq ($(findstring MINGW,$(shell uname -a)),)
    platform = win
 else ifneq ($(findstring Darwin,$(shell uname -a)),)
    platform = osx
+   arch = intel
+ifeq ($(shell uname -p),powerpc)
+   arch = ppc
+endif
 else ifneq ($(findstring win,$(shell uname -a)),)
    platform = win
 endif
@@ -35,16 +39,29 @@ ifeq ($(platform), unix)
 else ifeq ($(platform), osx)
    TARGET := $(TARGET_NAME)_libretro.dylib
    SHARED := -dynamiclib
+   APPLE := 1
+
+   arch = intel
+ifeq ($(shell uname -p),powerpc)
+   arch = ppc
+endif
+
+ifeq ($(arch),ppc)
+   CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__ -DFAMEC_NO_GOTOS
+else
+   SHARED += -mmacosx-version-min=10.6
+endif
 else ifeq ($(platform), ios)
    TARGET := $(TARGET_NAME)_libretro_ios.dylib
    SHARED := -dynamiclib
+   APPLE := 1
 
-   CC = clang -arch armv7 -isysroot $(IOSSDK)
-   CXX = clang++ -arch armv7 -isysroot $(IOSSDK)
-   CC_AS = perl ./tools/gas-preprocessor.pl $(CC)
-   CFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -marm
+   CC = clang -arch armv7 -isysroot $(IOSSDK) -miphoneos-version-min=5.0
+   CXX = clang++ -arch armv7 -isysroot $(IOSSDK) -miphoneos-version-min=5.0
+   CC_AS = perl ./tools/gas-preprocessor.pl $(CC) -miphoneos-version-min=5.0
+   CFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -marm 
    ASFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon
-   CFLAGS += -DIOS
+   CFLAGS += -DIOS -miphoneos-version-min=5.0
 
    ARCH := arm
 
@@ -52,7 +69,6 @@ else ifeq ($(platform), ios)
    use_fame = 1
    use_drz80 = 0
    use_cz80 = 1
-   use_sh2mame = 0
    use_sh2drc = 1
    use_svpdrc = 1
 
@@ -60,22 +76,82 @@ else ifeq ($(platform), ps3)
    TARGET := $(TARGET_NAME)_libretro_ps3.a
    CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
    AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe
-   CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__
+   CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__ -DFAMEC_NO_GOTOS
+       STATIC_LINKING = 1
+       NO_MMAP = 1
+       DONT_COMPILE_IN_ZLIB = 1
+
+       asm_memory = 0
+       asm_render = 0
+       asm_ym2612 = 0
+       asm_misc = 0
+       asm_cdpico = 0
+       asm_cdmemory = 0
+       asm_mix = 0
+   use_cyclone = 0
+   use_fame = 1
+   use_drz80 = 0
+   use_cz80 = 1
 else ifeq ($(platform), sncps3)
    TARGET := $(TARGET_NAME)_libretro_ps3.a
    CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
    AR = $(CELL_SDK)/host-win32/sn/bin/ps3snarl.exe
-   CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__
+   CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__ -DFAMEC_NO_GOTOS
+       STATIC_LINKING = 1
+       NO_MMAP = 1
+       DONT_COMPILE_IN_ZLIB = 1
+
+       asm_memory = 0
+       asm_render = 0
+       asm_ym2612 = 0
+       asm_misc = 0
+       asm_cdpico = 0
+       asm_cdmemory = 0
+       asm_mix = 0
+   use_cyclone = 0
+   use_fame = 1
+   use_drz80 = 0
+   use_cz80 = 1
 else ifeq ($(platform), psl1ght)
    TARGET := $(TARGET_NAME)_libretro_psl1ght.a
    CC = $(PS3DEV)/ppu/bin/ppu-gcc$(EXE_EXT)
    AR = $(PS3DEV)/ppu/bin/ppu-ar$(EXE_EXT)
-   CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__
+   CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__ -DFAMEC_NO_GOTOS
+       STATIC_LINKING = 1
+       NO_MMAP = 1
+       DONT_COMPILE_IN_ZLIB = 1
+       
+       asm_memory = 0
+       asm_render = 0
+       asm_ym2612 = 0
+       asm_misc = 0
+       asm_cdpico = 0
+       asm_cdmemory = 0
+       asm_mix = 0
+   use_cyclone = 0
+   use_fame = 1
+   use_drz80 = 0
+   use_cz80 = 1
 else ifeq ($(platform), psp1)
    TARGET := $(TARGET_NAME)_libretro_psp1.a
    CC = psp-gcc$(EXE_EXT)
    AR = psp-ar$(EXE_EXT)
-   CFLAGS += -DPSP -G0
+   CFLAGS += -G0
+       STATIC_LINKING = 1
+       NO_MMAP = 1
+       DONT_COMPILE_IN_ZLIB = 1
+
+       asm_memory = 0
+       asm_render = 0
+       asm_ym2612 = 0
+       asm_misc = 0
+       asm_cdpico = 0
+       asm_cdmemory = 0
+       asm_mix = 0
+   use_cyclone = 0
+   use_fame = 1
+   use_drz80 = 0
+   use_cz80 = 1
 else ifeq ($(platform), xenon)
    TARGET := $(TARGET_NAME)_libretro_xenon360.a
    CC = xenon-gcc$(EXE_EXT)
@@ -134,6 +210,12 @@ else
    CFLAGS += -D__WIN32__ -D__WIN32_LIBRETRO__
 endif
 
+CFLAGS += -DNO_ZLIB
+
+ifeq ($(NO_MMAP),1)
+CFLAGS += -DNO_MMAP
+endif
+
 ifeq ($(ARM_ASM),1)
 asm_memory = 1
 asm_render = 1