91b31fd7ab594736e8132040e16874ec2b14e144
[picodrive.git] / jni / Android.mk
1 LOCAL_PATH := $(call my-dir)
2
3 include $(CLEAR_VARS)
4
5 ifeq ($(NEON_BUILD)$(TARGET_ARCH_ABI),1armeabi-v7a)
6   LOCAL_MODULE := retro_picodrive-neon
7 else
8   LOCAL_MODULE := retro_picodrive
9 endif
10
11 R := ../
12 FR := $(LOCAL_PATH)/$(R)
13
14 use_cyclone = 0
15 use_fame = 0
16 use_musashi = 0
17 use_drz80 = 0
18 use_cz80 = 0
19 use_sh2drc = 0
20 use_sh2mame = 0
21 use_svpdrc = 0
22
23 asm_memory = 0
24 asm_render = 0
25 asm_ym2612 = 0
26 asm_misc = 0
27 asm_cdmemory = 0
28 asm_mix = 0
29
30 ifeq ($(TARGET_ARCH),arm)
31   LOCAL_ARM_MODE := arm
32   ifeq ($(NEON_BUILD),1)
33     LOCAL_ARM_NEON := true
34   endif
35
36   use_cyclone = 1
37   use_drz80 = 1
38   use_sh2drc = 1
39   use_svpdrc = 1
40
41   asm_memory = 1
42   asm_render = 1
43   asm_ym2612 = 1
44   asm_misc = 1
45   asm_cdmemory = 1
46   asm_mix = 1
47 else
48   use_fame = 1
49   use_cz80 = 1
50   use_sh2mame = 1
51 endif
52
53 # PD is currently not strict aliasing safe
54 LOCAL_CFLAGS += -fno-strict-aliasing
55
56 # sources
57 SRCS_COMMON :=
58 DEFINES :=
59 ARCH := $(TARGET_ARCH)
60 include $(R)platform/common/common.mak
61
62 LOCAL_SRC_FILES += $(SRCS_COMMON)
63 LOCAL_SRC_FILES += $(R)platform/libretro.c
64 LOCAL_SRC_FILES += $(R)platform/common/mp3.c
65 LOCAL_SRC_FILES += $(R)platform/common/mp3_dummy.c
66
67 # zlib/unzip
68 LOCAL_SRC_FILES += $(R)zlib/gzio.c $(R)zlib/inffast.c $(R)zlib/inflate.c \
69         $(R)zlib/inftrees.c $(R)zlib/trees.c $(R)zlib/deflate.c \
70         $(R)zlib/crc32.c $(R)zlib/adler32.c $(R)zlib/zutil.c \
71         $(R)zlib/compress.c $(R)zlib/uncompr.c
72
73 LOCAL_SRC_FILES += $(R)unzip/unzip.c
74
75 LOCAL_C_INCLUDES += $(R)
76
77 # note: don't use -O3, causes some NDKs run out of memory while compiling FAME
78 LOCAL_CFLAGS += -Wall -O2 -ffast-math -DNDEBUG
79 LOCAL_CFLAGS += $(addprefix -D,$(DEFINES))
80 LOCAL_LDLIBS := -llog
81
82 include $(BUILD_SHARED_LIBRARY)