- ARCH = arm
- USE_DYNAREC = 1
-else ifeq ($(platform), armv7)
- TARGET := $(TARGET_NAME)_libretro.so
- SHARED := -shared -Wl,--no-undefined
- CFLAGS += -marm -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp
- ASFLAGS += -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp
+# ARM
+else ifneq (,$(findstring armv,$(platform)))
+ TARGET := $(TARGET_NAME)_libretro.so
+ SHARED := -shared -Wl,--no-undefined
+ fpic := -fPIC
+ ifneq (,$(findstring cortexa5,$(platform)))
+ CFLAGS += -marm -mcpu=cortex-a5
+ ASFLAGS += -mcpu=cortex-a5
+ else ifneq (,$(findstring cortexa8,$(platform)))
+ CFLAGS += -marm -mcpu=cortex-a8
+ ASFLAGS += -mcpu=cortex-a8
+ else ifneq (,$(findstring cortexa9,$(platform)))
+ CFLAGS += -marm -mcpu=cortex-a9
+ ASFLAGS += -mcpu=cortex-a9
+ else ifneq (,$(findstring cortexa15a7,$(platform)))
+ CFLAGS += -marm -mcpu=cortex-a15.cortex-a7
+ ASFLAGS += -mcpu=cortex-a15.cortex-a7
+ else
+ CFLAGS += -marm
+ endif
+ ifneq (,$(findstring neon,$(platform)))
+ CFLAGS += -mfpu=neon
+ ASFLAGS += -mfpu=neon
+ endif
+ ifneq (,$(findstring softfloat,$(platform)))
+ CFLAGS += -mfloat-abi=softfp
+ ASFLAGS += -mfloat-abi=softfp
+ else ifneq (,$(findstring hardfloat,$(platform)))
+ CFLAGS += -mfloat-abi=hard
+ ASFLAGS += -mfloat-abi=hard
+ endif
+ ifneq (,$(findstring armasm,$(platform)))
+ ARM_ASM = 1
+ endif
+ ARCH = arm