98dbc3ab |
1 | LOCAL_PATH := $(call my-dir) |
2 | |
61d76999 |
3 | CORE_DIR := $(LOCAL_PATH)/.. |
4 | COMMON_DIR := $(CORE_DIR)/platform/common |
5 | LIBRETRO_DIR := $(CORE_DIR)/platform/libretro |
6 | LIBRETRO_COMM_DIR := $(LIBRETRO_DIR)/libretro-common |
7 | UNZIP_DIR := $(CORE_DIR)/unzip |
8 | R := $(CORE_DIR)/ |
9 | FR := $(R) |
7612bf90 |
10 | |
61d76999 |
11 | SRCS_COMMON := |
12 | DEFINES := |
13 | ARCH := $(TARGET_ARCH) |
14 | |
15 | use_cyclone := 0 |
16 | use_fame := 1 |
17 | use_musashi := 0 |
18 | use_drz80 := 0 |
19 | use_cz80 := 1 |
20 | use_sh2drc := 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 | asm_32xdraw := 0 |
30 | asm_32xmemory := 0 |
98dbc3ab |
31 | |
32 | ifeq ($(TARGET_ARCH),arm) |
61d76999 |
33 | # use_cyclone := 1 |
34 | # use_fame := 0 |
35 | # use_drz80 := 1 |
36 | # use_cz80 := 0 |
37 | use_sh2drc := 1 |
38 | # use_svpdrc := 1 |
39 | |
40 | # asm_memory := 1 |
41 | # asm_render := 1 |
42 | # asm_ym2612 := 1 |
43 | # asm_misc := 1 |
44 | # asm_cdmemory := 1 |
45 | # asm_mix := 1 |
46 | # asm_32xdraw := 1 |
47 | # asm_32xmemory := 1 |
98dbc3ab |
48 | endif |
49 | |
61d76999 |
50 | ifeq ($(TARGET_ARCH_ABI),armeabi) |
51 | CYCLONE_CONFIG := cyclone_config_armv4.h |
52 | endif |
98dbc3ab |
53 | |
61d76999 |
54 | include $(COMMON_DIR)/common.mak |
98dbc3ab |
55 | |
cc1174c9 |
56 | LCHDR = $(CORE_DIR)/pico/cd/libchdr |
57 | LCHDR_LZMA = $(LCHDR)/deps/lzma-24.05 |
58 | LCHDR_ZSTD = $(LCHDR)/deps/zstd-1.5.6/lib |
59 | |
61d76999 |
60 | SOURCES_C := $(LIBRETRO_DIR)/libretro.c \ |
5f9901e0 |
61 | $(LIBRETRO_COMM_DIR)/formats/png/rpng.c \ |
62 | $(LIBRETRO_COMM_DIR)/streams/trans_stream.c \ |
63 | $(LIBRETRO_COMM_DIR)/streams/trans_stream_pipe.c \ |
64 | $(LIBRETRO_COMM_DIR)/streams/trans_stream_zlib.c \ |
65 | $(LIBRETRO_COMM_DIR)/file/file_path_io.c \ |
66 | $(LIBRETRO_COMM_DIR)/file/file_path.c \ |
67 | $(LIBRETRO_COMM_DIR)/vfs/vfs_implementation.c \ |
68 | $(LIBRETRO_COMM_DIR)/time/rtime.c \ |
69 | $(LIBRETRO_COMM_DIR)/string/stdstring.c \ |
70 | $(LIBRETRO_COMM_DIR)/encodings/encoding_utf.c \ |
a5085db3 |
71 | $(LIBRETRO_COMM_DIR)/compat/compat_strcasestr.c \ |
5f9901e0 |
72 | $(LIBRETRO_COMM_DIR)/compat/compat_strl.c \ |
61d76999 |
73 | $(COMMON_DIR)/mp3.c \ |
74 | $(COMMON_DIR)/mp3_sync.c \ |
75 | $(COMMON_DIR)/mp3_dummy.c \ |
a5085db3 |
76 | $(UNZIP_DIR)/unzip.c \ |
cc1174c9 |
77 | $(LCHDR)/src/libchdr_bitstream.c \ |
78 | $(LCHDR)/src/libchdr_cdrom.c \ |
79 | $(LCHDR)/src/libchdr_chd.c \ |
80 | $(LCHDR)/src/libchdr_flac.c \ |
81 | $(LCHDR)/src/libchdr_huffman.c \ |
82 | $(LCHDR_LZMA)/src/Alloc.c \ |
83 | $(LCHDR_LZMA)/src/CpuArch.c \ |
84 | $(LCHDR_LZMA)/src/Delta.c \ |
85 | $(LCHDR_LZMA)/src/LzFind.c \ |
86 | $(LCHDR_LZMA)/src/LzmaDec.c \ |
87 | $(LCHDR_LZMA)/src/LzmaEnc.c \ |
88 | $(LCHDR_LZMA)/src/Sort.c \ |
89 | $(LCHDR_ZSTD)/common/entropy_common.c \ |
90 | $(LCHDR_ZSTD)/common/error_private.c \ |
91 | $(LCHDR_ZSTD)/common/fse_decompress.c \ |
92 | $(LCHDR_ZSTD)/common/xxhash.c \ |
93 | $(LCHDR_ZSTD)/common/zstd_common.c \ |
94 | $(LCHDR_ZSTD)/decompress/huf_decompress.c \ |
95 | $(LCHDR_ZSTD)/decompress/zstd_ddict.c \ |
96 | $(LCHDR_ZSTD)/decompress/zstd_decompress_block.c \ |
97 | $(LCHDR_ZSTD)/decompress/zstd_decompress.c |
98 | |
99 | COREFLAGS := $(addprefix -D,$(DEFINES)) -fno-strict-aliasing -DUSE_LIBCHDR=1 -DZ7_ST -DZSTD_DISABLE_ASM |
100 | COREFLAGS += -I$(LCHDR)/include -I$(LCHDR_LZMA)/include -I$(LCHDR_ZSTD) |
101 | ifeq (,$(call gte,$(APP_PLATFORM_LEVEL),18)) |
102 | ifneq ($(TARGET_ARCH_ABI),arm64-v8a) |
103 | # HACK |
104 | COREFLAGS += -Dgetauxval=0* |
105 | endif |
106 | endif |
98dbc3ab |
107 | |
12d506ba |
108 | GIT_REVISION := $(shell git rev-parse --short HEAD || echo unknown) |
109 | COREFLAGS += -DREVISION=\"$(GIT_REVISION)\" |
98dbc3ab |
110 | |
713e3a1c |
111 | ifneq ($(filter armeabi%, $(TARGET_ARCH_ABI)),) |
112 | $(CORE_DIR)/pico/pico_int_offs.h: |
113 | cp $(CORE_DIR)/tools/offsets/generic-ilp32-offsets.h $@ |
114 | .PHONY: $(CORE_DIR)/pico/pico_int_offs.h |
115 | |
116 | $(filter %.S,$(SRCS_COMMON)): $(CORE_DIR)/pico/pico_int_offs.h |
117 | endif |
118 | |
61d76999 |
119 | include $(CLEAR_VARS) |
120 | LOCAL_MODULE := retro |
121 | LOCAL_SRC_FILES := $(SRCS_COMMON) $(SOURCES_C) |
122 | LOCAL_CFLAGS := $(COREFLAGS) |
123 | LOCAL_C_INCLUDES := $(CORE_DIR) $(LIBRETRO_COMM_DIR)/include |
124 | LOCAL_LDFLAGS := -Wl,-version-script=$(LIBRETRO_DIR)/link.T |
125 | LOCAL_LDLIBS := -llog -lz |
126 | LOCAL_ARM_MODE := arm |
127 | |
128 | ifeq ($(TARGET_ARCH_ABI),armeabi-v7a) |
129 | LOCAL_ARM_NEON := true |
130 | endif |
131 | |
98dbc3ab |
132 | include $(BUILD_SHARED_LIBRARY) |