Makefile.libretro 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. # Makefile for PicoDrive (libretro)
  2. ifeq ($(platform),)
  3. platform = unix
  4. ifeq ($(shell uname -a),)
  5. platform = win
  6. else ifneq ($(findstring MINGW,$(shell uname -a)),)
  7. platform = win
  8. else ifneq ($(findstring Darwin,$(shell uname -a)),)
  9. platform = osx
  10. else ifneq ($(findstring win,$(shell uname -a)),)
  11. platform = win
  12. endif
  13. endif
  14. CC ?= gcc
  15. CXX ?= g++
  16. AS ?= as
  17. CC_AS ?= $(CC)
  18. CFLAGS ?=
  19. TARGET_NAME := picodrive
  20. asm_memory = 0
  21. asm_render = 0
  22. asm_ym2612 = 0
  23. asm_misc = 0
  24. asm_cdmemory = 0
  25. asm_mix = 0
  26. ifeq ($(platform), unix)
  27. TARGET := $(TARGET_NAME)_libretro.so
  28. SHARED := -shared
  29. else ifeq ($(platform), osx)
  30. TARGET := $(TARGET_NAME)_libretro.dylib
  31. SHARED := -dynamiclib
  32. else ifeq ($(platform), ios)
  33. TARGET := $(TARGET_NAME)_libretro_ios.dylib
  34. SHARED := -dynamiclib
  35. CC = clang -arch armv7 -isysroot $(IOSSDK) -miphoneos-version-min=5.0
  36. CXX = clang++ -arch armv7 -isysroot $(IOSSDK) -miphoneos-version-min=5.0
  37. CC_AS = perl ./tools/gas-preprocessor.pl $(CC) -miphoneos-version-min=5.0
  38. CFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -marm
  39. ASFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon
  40. CFLAGS += -DIOS -miphoneos-version-min=5.0
  41. ARCH := arm
  42. use_cyclone = 0
  43. use_fame = 1
  44. use_drz80 = 0
  45. use_cz80 = 1
  46. use_sh2drc = 1
  47. use_svpdrc = 1
  48. else ifeq ($(platform), ps3)
  49. TARGET := $(TARGET_NAME)_libretro_ps3.a
  50. CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
  51. AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe
  52. CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__
  53. else ifeq ($(platform), sncps3)
  54. TARGET := $(TARGET_NAME)_libretro_ps3.a
  55. CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
  56. AR = $(CELL_SDK)/host-win32/sn/bin/ps3snarl.exe
  57. CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__
  58. else ifeq ($(platform), psl1ght)
  59. TARGET := $(TARGET_NAME)_libretro_psl1ght.a
  60. CC = $(PS3DEV)/ppu/bin/ppu-gcc$(EXE_EXT)
  61. AR = $(PS3DEV)/ppu/bin/ppu-ar$(EXE_EXT)
  62. CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__
  63. else ifeq ($(platform), psp1)
  64. TARGET := $(TARGET_NAME)_libretro_psp1.a
  65. CC = psp-gcc$(EXE_EXT)
  66. AR = psp-ar$(EXE_EXT)
  67. CFLAGS += -DPSP -G0
  68. else ifeq ($(platform), xenon)
  69. TARGET := $(TARGET_NAME)_libretro_xenon360.a
  70. CC = xenon-gcc$(EXE_EXT)
  71. AR = xenon-ar$(EXE_EXT)
  72. CFLAGS += -D__LIBXENON__ -m32 -D__ppc__
  73. else ifeq ($(platform), ngc)
  74. TARGET := $(TARGET_NAME)_libretro_ngc.a
  75. CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
  76. AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT)
  77. CFLAGS += -DGEKKO -DHW_DOL -mrvl -mcpu=750 -meabi -mhard-float -DBLARGG_BIG_ENDIAN=1 -D__ppc__
  78. else ifeq ($(platform), wii)
  79. TARGET := libretro_$(TARGET_NAME)_wii.a
  80. CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
  81. AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT)
  82. CFLAGS += -DGEKKO -DHW_RVL -mrvl -mcpu=750 -meabi -mhard-float -DBLARGG_BIG_ENDIAN=1 -D__ppc__
  83. else ifeq ($(platform), qnx)
  84. TARGET := $(TARGET_NAME)_libretro_qnx.so
  85. CC = qcc -Vgcc_ntoarmv7le
  86. CC_AS = $(CC)
  87. CFLAGS += -DBASE_ADDR_FIXED=0 -D__BLACKBERRY_QNX__ -marm -mcpu=cortex-a9 -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp
  88. ASFLAGS += -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=softfp
  89. ARCH = arm
  90. ARM_ASM = 1
  91. else ifneq (,$(findstring armv,$(platform)))
  92. TARGET := $(TARGET_NAME)_libretro.so
  93. SHARED := -shared -Wl,--no-undefined
  94. ifneq (,$(findstring cortexa8,$(platform)))
  95. CFLAGS += -marm -mcpu=cortex-a8
  96. ASFLAGS += -mcpu=cortex-a8
  97. else ifneq (,$(findstring cortexa9,$(platform)))
  98. CFLAGS += -marm -mcpu=cortex-a9
  99. ASFLAGS += -mcpu=cortex-a9
  100. endif
  101. CFLAGS += -marm
  102. ifneq (,$(findstring neon,$(platform)))
  103. CFLAGS += -mfpu=neon
  104. ASFLAGS += -mfpu=neon
  105. endif
  106. ifneq (,$(findstring softfloat,$(platform)))
  107. CFLAGS += -mfloat-abi=softfp
  108. ASFLAGS += -mfloat-abi=softfp
  109. else ifneq (,$(findstring hardfloat,$(platform)))
  110. CFLAGS += -mfloat-abi=hard
  111. ASFLAGS += -mfloat-abi=hard
  112. endif
  113. ifneq (,$(findstring armasm,$(platform)))
  114. ARM_ASM = 1
  115. endif
  116. ARCH = arm
  117. else
  118. TARGET := $(TARGET_NAME)_libretro.dll
  119. CC = gcc
  120. LD_FLAGS := -fPIC
  121. SHARED := -shared -static-libgcc -static-libstdc++
  122. CFLAGS += -D__WIN32__ -D__WIN32_LIBRETRO__
  123. endif
  124. ifeq ($(ARM_ASM),1)
  125. asm_memory = 1
  126. asm_render = 1
  127. asm_ym2612 = 1
  128. asm_misc = 1
  129. asm_cdmemory = 1
  130. asm_mix = 1
  131. endif
  132. CFLAGS += -fPIC
  133. LDLIBS += -lm
  134. SHARED ?= -shared
  135. LDFLAGS += $(SHARED)
  136. PLATFORM = libretro
  137. NO_CONFIG_MAK = yes
  138. include Makefile