1b8b95635ac6e55971ee4542c479d242238dd4c0
[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_cdpico = 0
28 asm_cdmemory = 0
29 asm_mix = 0
30
31 ifeq ($(TARGET_ARCH),arm)
32   LOCAL_ARM_MODE := arm
33   ifeq ($(NEON_BUILD),1)
34     LOCAL_ARM_NEON := true
35   endif
36
37   use_cyclone = 1
38   use_drz80 = 1
39   use_sh2drc = 1
40   use_svpdrc = 1
41
42   asm_memory = 1
43   asm_render = 1
44   asm_ym2612 = 1
45   asm_misc = 1
46   asm_cdpico = 1
47   asm_cdmemory = 1
48   asm_mix = 1
49 else
50   use_fame = 1
51   use_cz80 = 1
52   use_sh2mame = 1
53 endif
54
55 # PD is currently not strict aliasing safe
56 LOCAL_CFLAGS += -fno-strict-aliasing
57
58 # sources
59 SRCS_COMMON :=
60 DEFINES :=
61 ARCH := $(TARGET_ARCH)
62 include $(R)platform/common/common.mak
63
64 LOCAL_SRC_FILES += $(SRCS_COMMON)
65 LOCAL_SRC_FILES += $(R)platform/libretro.c
66 LOCAL_SRC_FILES += $(R)platform/common/mp3.c
67 LOCAL_SRC_FILES += $(R)platform/common/mp3_dummy.c
68
69 # zlib/unzip
70 LOCAL_SRC_FILES += $(R)zlib/gzio.c $(R)zlib/inffast.c $(R)zlib/inflate.c \
71         $(R)zlib/inftrees.c $(R)zlib/trees.c $(R)zlib/deflate.c \
72         $(R)zlib/crc32.c $(R)zlib/adler32.c $(R)zlib/zutil.c \
73         $(R)zlib/compress.c $(R)zlib/uncompr.c
74
75 LOCAL_SRC_FILES += $(R)unzip/unzip.c
76
77 LOCAL_C_INCLUDES += $(R)
78
79 # note: don't use -O3, causes some NDKs run out of memory while compiling FAME
80 LOCAL_CFLAGS += -Wall -O2 -ffast-math -DNDEBUG
81 LOCAL_CFLAGS += $(addprefix -D,$(DEFINES))
82 LOCAL_LDLIBS := -llog
83
84 include $(BUILD_SHARED_LIBRARY)