6be42b1c0faec3112e563d9443cf3a7999cdc0d0
[pcsx_rearmed.git] / jni / Android.mk
1 LOCAL_PATH := $(call my-dir)
2
3 include $(CLEAR_VARS)
4
5 APP_DIR := ../../src
6
7 ifneq ($(TARGET_ARCH_ABI),armeabi-v7a)
8    NO_NEON_BUILD := 1
9 else
10    NO_NEON_BUILD := $(NO_NEON)
11 endif
12
13 ifeq ($(NO_NEON_BUILD)$(TARGET_ARCH_ABI),1armeabi-v7a)
14    LOCAL_MODULE    := retro-noneon
15 else
16    LOCAL_MODULE    := retro
17 endif
18
19 ifeq ($(TARGET_ARCH),arm)
20    LOCAL_ARM_MODE := arm
21
22    ifeq ($(TARGET_ARCH_EABI),armeabi-v7a)
23       LOCAL_CFLAGS += -DHAVE_ARMV7=1
24    else
25       LOCAL_CFLAGS += -DHAVE_ARMV7=0
26    endif
27
28    LOCAL_CFLAGS += -DANDROID_ARM
29
30    LOCAL_SRC_FILES += ../libpcsxcore/gte_arm.S
31
32    # dynarec
33    LOCAL_SRC_FILES += ../libpcsxcore/new_dynarec/new_dynarec.c ../libpcsxcore/new_dynarec/linkage_arm.S ../libpcsxcore/new_dynarec/emu_if.c ../libpcsxcore/new_dynarec/pcsxmem.c
34
35    # spu
36    LOCAL_SRC_FILES += ../plugins/dfsound/arm_utils.S
37
38    ifeq ($(NO_NEON_BUILD),1)
39       # gpu
40       LOCAL_CFLAGS += -DREARMED
41       LOCAL_SRC_FILES += ../plugins/gpulib/cspace.c ../plugins/gpu_unai/gpulib_if.cpp ../plugins/gpu_unai/gpu_arm.s
42    else
43       LOCAL_ARM_NEON := true
44       LOCAL_CFLAGS += -DNEON_BUILD -DTEXTURE_CACHE_4BPP -DTEXTURE_CACHE_8BPP
45       LOCAL_SRC_FILES += ../libpcsxcore/gte_neon.S ../plugins/gpulib/cspace_neon.s
46
47       # gpu
48       LOCAL_SRC_FILES += ../plugins/gpu_neon/psx_gpu_if.c ../plugins/gpu_neon/psx_gpu/psx_gpu_arm_neon.S
49    endif
50 endif
51
52 ifeq ($(TARGET_ARCH),x86)
53    LOCAL_CFLAGS += -DANDROID_X86
54 endif
55
56 ifeq ($(TARGET_ARCH),mips)
57    LOCAL_CFLAGS += -DANDROID_MIPS -D__mips__ -D__MIPSEL__
58 endif
59
60 ifneq ($(TARGET_ARCH),arm)
61    # gpu
62    LOCAL_CFLAGS += -DREARMED
63    LOCAL_SRC_FILES += ../plugins/gpulib/cspace.c ../plugins/gpu_unai/gpulib_if.cpp
64 endif
65
66 $(shell cd "$(LOCAL_PATH)" && ((git describe || echo) | sed -e 's/.*/#define REV "\0"/' > ../frontend/revision.h_))
67 $(shell cd "$(LOCAL_PATH)" && (diff -q ../frontend/revision.h_ ../frontend/revision.h > /dev/null 2>&1 || cp ../frontend/revision.h_ ../frontend/revision.h))
68 $(shell cd "$(LOCAL_PATH)" && (rm ../frontend/revision.h_))
69
70 LOCAL_SRC_FILES += ../libpcsxcore/cdriso.c ../libpcsxcore/cdrom.c ../libpcsxcore/cheat.c ../libpcsxcore/debug.c \
71    ../libpcsxcore/decode_xa.c ../libpcsxcore/disr3000a.c ../libpcsxcore/mdec.c \
72    ../libpcsxcore/misc.c ../libpcsxcore/plugins.c ../libpcsxcore/ppf.c ../libpcsxcore/psxbios.c \
73    ../libpcsxcore/psxcommon.c ../libpcsxcore/psxcounters.c ../libpcsxcore/psxdma.c ../libpcsxcore/psxhle.c \
74    ../libpcsxcore/psxhw.c ../libpcsxcore/psxinterpreter.c ../libpcsxcore/psxmem.c ../libpcsxcore/r3000a.c \
75    ../libpcsxcore/sio.c ../libpcsxcore/socket.c ../libpcsxcore/spu.c
76 LOCAL_SRC_FILES += ../libpcsxcore/gte.c ../libpcsxcore/gte_nf.c ../libpcsxcore/gte_divider.c
77
78 # spu
79 LOCAL_SRC_FILES += ../plugins/dfsound/dma.c ../plugins/dfsound/freeze.c \
80    ../plugins/dfsound/registers.c ../plugins/dfsound/spu.c \
81    ../plugins/dfsound/out.c ../plugins/dfsound/nullsnd.c
82
83 # builtin gpu
84 LOCAL_SRC_FILES += ../plugins/gpulib/gpu.c ../plugins/gpulib/vout_pl.c
85
86 # cdrcimg
87 LOCAL_SRC_FILES += ../plugins/cdrcimg/cdrcimg.c
88
89 # dfinput
90 LOCAL_SRC_FILES += ../plugins/dfinput/main.c ../plugins/dfinput/pad.c ../plugins/dfinput/guncon.c
91
92 # gui
93 LOCAL_SRC_FILES += ../frontend/main.c ../frontend/plugin.c
94 LOCAL_SRC_FILES += ../frontend/common/fonts.c
95 LOCAL_SRC_FILES += ../frontend/linux/plat.c
96
97 # libretro
98 LOCAL_SRC_FILES += ../frontend/libretro.c
99
100 LOCAL_CFLAGS += -O3 -ffast-math -funroll-loops -DNDEBUG -D_FILE_OFFSET_BITS=64 -DHAVE_LIBRETRO -DNO_FRONTEND
101 LOCAL_C_INCLUDES += $(LOCAL_PATH)/../frontend
102 LOCAL_LDLIBS := -lz -llog
103
104 include $(BUILD_SHARED_LIBRARY)