Commit | Line | Data |
---|---|---|
b2058a5b TK |
1 | LOCAL_PATH := $(call my-dir) |
2 | ||
77668f25 AK |
3 | $(shell cd "$(LOCAL_PATH)" && ((git describe || echo) | sed -e 's/.*/#define REV "\0"/' > ../frontend/revision.h_)) |
4 | $(shell cd "$(LOCAL_PATH)" && (diff -q ../frontend/revision.h_ ../frontend/revision.h > /dev/null 2>&1 || cp ../frontend/revision.h_ ../frontend/revision.h)) | |
5 | $(shell cd "$(LOCAL_PATH)" && (rm ../frontend/revision.h_)) | |
b2058a5b | 6 | |
cadb8854 T |
7 | HAVE_CHD ?= 1 |
8 | ||
77668f25 AK |
9 | ROOT_DIR := $(LOCAL_PATH)/.. |
10 | CORE_DIR := $(ROOT_DIR)/libpcsxcore | |
11 | SPU_DIR := $(ROOT_DIR)/plugins/dfsound | |
12 | GPU_DIR := $(ROOT_DIR)/plugins/gpulib | |
13 | CDR_DIR := $(ROOT_DIR)/plugins/cdrcimg | |
14 | INPUT_DIR := $(ROOT_DIR)/plugins/dfinput | |
15 | FRONTEND_DIR := $(ROOT_DIR)/frontend | |
16 | NEON_DIR := $(ROOT_DIR)/plugins/gpu_neon | |
17 | UNAI_DIR := $(ROOT_DIR)/plugins/gpu_unai | |
18 | DYNAREC_DIR := $(ROOT_DIR)/libpcsxcore/new_dynarec | |
275ed8df | 19 | DEPS_DIR := $(ROOT_DIR)/deps |
07597ed3 | 20 | LIBRETRO_COMMON := $(ROOT_DIR)/libretro-common |
77668f25 AK |
21 | |
22 | # core | |
23 | SOURCES_C := $(CORE_DIR)/cdriso.c \ | |
24 | $(CORE_DIR)/cdrom.c \ | |
25 | $(CORE_DIR)/cheat.c \ | |
26 | $(CORE_DIR)/debug.c \ | |
27 | $(CORE_DIR)/decode_xa.c \ | |
28 | $(CORE_DIR)/disr3000a.c \ | |
29 | $(CORE_DIR)/mdec.c \ | |
30 | $(CORE_DIR)/misc.c \ | |
31 | $(CORE_DIR)/plugins.c \ | |
32 | $(CORE_DIR)/ppf.c \ | |
33 | $(CORE_DIR)/psxbios.c \ | |
34 | $(CORE_DIR)/psxcommon.c \ | |
35 | $(CORE_DIR)/psxcounters.c \ | |
36 | $(CORE_DIR)/psxdma.c \ | |
37 | $(CORE_DIR)/psxhle.c \ | |
38 | $(CORE_DIR)/psxhw.c \ | |
39 | $(CORE_DIR)/psxinterpreter.c \ | |
40 | $(CORE_DIR)/psxmem.c \ | |
41 | $(CORE_DIR)/r3000a.c \ | |
42 | $(CORE_DIR)/sio.c \ | |
43 | $(CORE_DIR)/socket.c \ | |
44 | $(CORE_DIR)/spu.c \ | |
45 | $(CORE_DIR)/gte.c \ | |
46 | $(CORE_DIR)/gte_nf.c \ | |
47 | $(CORE_DIR)/gte_divider.c | |
b2058a5b | 48 | |
77668f25 AK |
49 | # spu |
50 | SOURCES_C += $(SPU_DIR)/dma.c \ | |
51 | $(SPU_DIR)/freeze.c \ | |
52 | $(SPU_DIR)/registers.c \ | |
53 | $(SPU_DIR)/spu.c \ | |
54 | $(SPU_DIR)/out.c \ | |
55 | $(SPU_DIR)/nullsnd.c | |
b2058a5b | 56 | |
77668f25 AK |
57 | # gpu |
58 | SOURCES_C += $(GPU_DIR)/gpu.c \ | |
59 | $(GPU_DIR)/vout_pl.c | |
b2058a5b | 60 | |
77668f25 AK |
61 | # cdrcimg |
62 | SOURCES_C += $(CDR_DIR)/cdrcimg.c | |
b2058a5b | 63 | |
77668f25 AK |
64 | # dfinput |
65 | SOURCES_C += $(INPUT_DIR)/main.c \ | |
66 | $(INPUT_DIR)/pad.c \ | |
67 | $(INPUT_DIR)/guncon.c | |
b2058a5b | 68 | |
77668f25 AK |
69 | # frontend |
70 | SOURCES_C += $(FRONTEND_DIR)/main.c \ | |
71 | $(FRONTEND_DIR)/plugin.c \ | |
72 | $(FRONTEND_DIR)/cspace.c \ | |
73 | $(FRONTEND_DIR)/libretro.c | |
b2058a5b | 74 | |
275ed8df | 75 | # libchdr |
76 | SOURCES_C += \ | |
77 | $(DEPS_DIR)/crypto/md5.c \ | |
78 | $(DEPS_DIR)/crypto/sha1.c \ | |
79 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/bitmath.c \ | |
80 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/bitreader.c \ | |
81 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/cpu.c \ | |
82 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/crc.c \ | |
83 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/fixed.c \ | |
84 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/fixed_intrin_sse2.c \ | |
85 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/fixed_intrin_ssse3.c \ | |
86 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/float.c \ | |
87 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/format.c \ | |
88 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/lpc.c \ | |
89 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/lpc_intrin_avx2.c \ | |
90 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/lpc_intrin_sse2.c \ | |
91 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/lpc_intrin_sse41.c \ | |
92 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/lpc_intrin_sse.c \ | |
93 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/md5.c \ | |
94 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/memory.c \ | |
95 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/metadata_iterators.c \ | |
96 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/metadata_object.c \ | |
97 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/stream_decoder.c \ | |
98 | $(DEPS_DIR)/flac-1.3.2/src/libFLAC/window.c \ | |
99 | $(DEPS_DIR)/lzma-16.04/C/Alloc.c \ | |
100 | $(DEPS_DIR)/lzma-16.04/C/Bra86.c \ | |
101 | $(DEPS_DIR)/lzma-16.04/C/Bra.c \ | |
102 | $(DEPS_DIR)/lzma-16.04/C/BraIA64.c \ | |
103 | $(DEPS_DIR)/lzma-16.04/C/CpuArch.c \ | |
104 | $(DEPS_DIR)/lzma-16.04/C/Delta.c \ | |
105 | $(DEPS_DIR)/lzma-16.04/C/LzFind.c \ | |
106 | $(DEPS_DIR)/lzma-16.04/C/Lzma86Dec.c \ | |
107 | $(DEPS_DIR)/lzma-16.04/C/Lzma86Enc.c \ | |
108 | $(DEPS_DIR)/lzma-16.04/C/LzmaDec.c \ | |
109 | $(DEPS_DIR)/lzma-16.04/C/LzmaEnc.c \ | |
110 | $(DEPS_DIR)/lzma-16.04/C/LzmaLib.c \ | |
111 | $(DEPS_DIR)/lzma-16.04/C/Sort.c \ | |
112 | $(DEPS_DIR)/libchdr/bitstream.c \ | |
113 | $(DEPS_DIR)/libchdr/cdrom.c \ | |
114 | $(DEPS_DIR)/libchdr/chd.c \ | |
115 | $(DEPS_DIR)/libchdr/flac.c \ | |
116 | $(DEPS_DIR)/libchdr/huffman.c | |
117 | ||
77668f25 AK |
118 | # dynarec |
119 | SOURCES_C += $(DYNAREC_DIR)/backends/psx/emu_if.c | |
c82f907a | 120 | |
661e95f6 | 121 | COREFLAGS := -ffast-math -funroll-loops -DHAVE_LIBRETRO -DNO_FRONTEND -DFRONTEND_SUPPORTS_RGB565 -DANDROID -DREARMED |
275ed8df | 122 | COREFLAGS += -DPACKAGE_VERSION=\"1.3.2\" -DFLAC__HAS_OGG=0 -DFLAC__NO_DLL -DHAVE_LROUND -DHAVE_STDINT_H -DHAVE_STDLIB_H -DFLAC__NO_DLL -D_7ZIP_ST -DHAVE_SYS_PARAM_H |
47747a78 | 123 | COREFLAGS += -DHAVE_CHD |
b2058a5b | 124 | |
77668f25 AK |
125 | ifeq ($(TARGET_ARCH),arm) |
126 | SOURCES_ASM := $(CORE_DIR)/gte_arm.S \ | |
127 | $(SPU_DIR)/arm_utils.S \ | |
128 | $(DYNAREC_DIR)/arm/linkage_arm.S | |
129 | SOURCES_C += $(DYNAREC_DIR)/new_dynarec.c \ | |
130 | $(DYNAREC_DIR)/backends/psx/pcsxmem.c | |
131 | else | |
132 | COREFLAGS += -DDRC_DISABLE | |
133 | SOURCES_ASM := | |
b2058a5b TK |
134 | endif |
135 | ||
77668f25 AK |
136 | ifeq ($(TARGET_ARCH_ABI),armeabi-v7a) |
137 | COREFLAGS += -DNEON_BUILD -DTEXTURE_CACHE_4BPP -DTEXTURE_CACHE_8BPP | |
138 | SOURCES_ASM += $(CORE_DIR)/gte_neon.S \ | |
139 | $(NEON_DIR)/psx_gpu/psx_gpu_arm_neon.S \ | |
140 | $(FRONTEND_DIR)/cspace_neon.S | |
141 | SOURCES_C += $(NEON_DIR)/psx_gpu_if.c | |
142 | else ifeq ($(TARGET_ARCH_ABI),armeabi) | |
b26afb99 | 143 | SOURCES_ASM += $(UNAI_DIR)/gpu_arm.S \ |
77668f25 AK |
144 | $(FRONTEND_DIR)/cspace_arm.S |
145 | SOURCES_C += $(UNAI_DIR)/gpulib_if.cpp | |
146 | else | |
147 | SOURCES_C += $(UNAI_DIR)/gpulib_if.cpp | |
b2058a5b TK |
148 | endif |
149 | ||
77668f25 AK |
150 | GIT_VERSION := " $(shell git rev-parse --short HEAD || echo unknown)" |
151 | ifneq ($(GIT_VERSION)," unknown") | |
152 | COREFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\" | |
b2058a5b TK |
153 | endif |
154 | ||
77668f25 AK |
155 | include $(CLEAR_VARS) |
156 | LOCAL_MODULE := retro | |
157 | LOCAL_SRC_FILES := $(SOURCES_C) $(SOURCES_ASM) | |
158 | LOCAL_CFLAGS := $(COREFLAGS) | |
159 | LOCAL_C_INCLUDES := $(ROOT_DIR)/include | |
275ed8df | 160 | LOCAL_C_INCLUDES += $(DEPS_DIR)/crypto $(DEPS_DIR)/flac-1.3.2/include $(DEPS_DIR)/flac-1.3.2/src/libFLAC/include $(DEPS_DIR)/lzma-16.04/C $(DEPS_DIR)/libchdr |
07597ed3 | 161 | LOCAL_C_INCLUDES += $(LIBRETRO_COMMON)/include |
77668f25 AK |
162 | LOCAL_LDFLAGS := -Wl,-version-script=$(FRONTEND_DIR)/link.T |
163 | LOCAL_LDLIBS := -lz -llog | |
164 | LOCAL_ARM_MODE := arm | |
165 | ||
166 | ifeq ($(TARGET_ARCH_ABI),armeabi-v7a) | |
167 | LOCAL_ARM_NEON := true | |
168 | endif | |
169 | ifeq ($(TARGET_ARCH),arm) | |
170 | LOCAL_LDLIBS += -Wl,-no-warn-shared-textrel | |
b2058a5b | 171 | endif |
b2058a5b TK |
172 | |
173 | include $(BUILD_SHARED_LIBRARY) |