]> git.lizzy.rs Git - dragonfireclient.git/blob - android/native/jni/Android.mk
Fixes to Android build + option to turn LuaJIT on/off for testing purposes (#12334)
[dragonfireclient.git] / android / native / jni / Android.mk
1 LOCAL_PATH := $(call my-dir)/..
2
3 #LOCAL_ADDRESS_SANITIZER:=true
4 #USE_BUILTIN_LUA:=true
5
6 include $(CLEAR_VARS)
7 LOCAL_MODULE := Curl
8 LOCAL_SRC_FILES := deps/$(APP_ABI)/Curl/libcurl.a
9 include $(PREBUILT_STATIC_LIBRARY)
10
11 include $(CLEAR_VARS)
12 LOCAL_MODULE := libmbedcrypto
13 LOCAL_SRC_FILES := deps/$(APP_ABI)/Curl/libmbedcrypto.a
14 include $(PREBUILT_STATIC_LIBRARY)
15
16 include $(CLEAR_VARS)
17 LOCAL_MODULE := libmbedtls
18 LOCAL_SRC_FILES := deps/$(APP_ABI)/Curl/libmbedtls.a
19 include $(PREBUILT_STATIC_LIBRARY)
20
21 include $(CLEAR_VARS)
22 LOCAL_MODULE := libmbedx509
23 LOCAL_SRC_FILES := deps/$(APP_ABI)/Curl/libmbedx509.a
24 include $(PREBUILT_STATIC_LIBRARY)
25
26 include $(CLEAR_VARS)
27 LOCAL_MODULE := Freetype
28 LOCAL_SRC_FILES := deps/$(APP_ABI)/Freetype/libfreetype.a
29 include $(PREBUILT_STATIC_LIBRARY)
30
31 include $(CLEAR_VARS)
32 LOCAL_MODULE := Iconv
33 LOCAL_SRC_FILES := deps/$(APP_ABI)/Iconv/libiconv.a
34 include $(PREBUILT_STATIC_LIBRARY)
35
36 include $(CLEAR_VARS)
37 LOCAL_MODULE := libcharset
38 LOCAL_SRC_FILES := deps/$(APP_ABI)/Iconv/libcharset.a
39 include $(PREBUILT_STATIC_LIBRARY)
40
41 include $(CLEAR_VARS)
42 LOCAL_MODULE := Irrlicht
43 LOCAL_SRC_FILES := deps/$(APP_ABI)/Irrlicht/libIrrlichtMt.a
44 include $(PREBUILT_STATIC_LIBRARY)
45
46 ifndef USE_BUILTIN_LUA
47
48 include $(CLEAR_VARS)
49 LOCAL_MODULE := LuaJIT
50 LOCAL_SRC_FILES := deps/$(APP_ABI)/LuaJIT/libluajit.a
51 include $(PREBUILT_STATIC_LIBRARY)
52
53 endif
54
55 include $(CLEAR_VARS)
56 LOCAL_MODULE := OpenAL
57 LOCAL_SRC_FILES := deps/$(APP_ABI)/OpenAL-Soft/libopenal.a
58 include $(PREBUILT_STATIC_LIBRARY)
59
60 include $(CLEAR_VARS)
61 LOCAL_MODULE := Gettext
62 LOCAL_SRC_FILES := deps/$(APP_ABI)/Gettext/libintl.a
63 include $(PREBUILT_STATIC_LIBRARY)
64
65 include $(CLEAR_VARS)
66 LOCAL_MODULE := SQLite3
67 LOCAL_SRC_FILES := deps/$(APP_ABI)/SQLite/libsqlite3.a
68 include $(PREBUILT_STATIC_LIBRARY)
69
70 include $(CLEAR_VARS)
71 LOCAL_MODULE := Vorbis
72 LOCAL_SRC_FILES := deps/$(APP_ABI)/Vorbis/libvorbis.a
73 include $(PREBUILT_STATIC_LIBRARY)
74
75 include $(CLEAR_VARS)
76 LOCAL_MODULE := libvorbisfile
77 LOCAL_SRC_FILES := deps/$(APP_ABI)/Vorbis/libvorbisfile.a
78 include $(PREBUILT_STATIC_LIBRARY)
79
80 include $(CLEAR_VARS)
81 LOCAL_MODULE := libogg
82 LOCAL_SRC_FILES := deps/$(APP_ABI)/Vorbis/libogg.a
83 include $(PREBUILT_STATIC_LIBRARY)
84
85 include $(CLEAR_VARS)
86 LOCAL_MODULE := Zstd
87 LOCAL_SRC_FILES := deps/$(APP_ABI)/Zstd/libzstd.a
88 include $(PREBUILT_STATIC_LIBRARY)
89
90 include $(CLEAR_VARS)
91 LOCAL_MODULE := Minetest
92
93 LOCAL_CFLAGS += \
94         -DJSONCPP_NO_LOCALE_SUPPORT     \
95         -DHAVE_TOUCHSCREENGUI           \
96         -DENABLE_GLES=1                 \
97         -DUSE_CURL=1                    \
98         -DUSE_SOUND=1                   \
99         -DUSE_LEVELDB=0                 \
100         -DUSE_GETTEXT=1                 \
101         -DVERSION_MAJOR=${versionMajor} \
102         -DVERSION_MINOR=${versionMinor} \
103         -DVERSION_PATCH=${versionPatch} \
104         -DVERSION_EXTRA=${versionExtra} \
105         $(GPROF_DEF)
106
107 ifdef USE_BUILTIN_LUA
108         LOCAL_CFLAGS += -DUSE_LUAJIT=0
109 else
110         LOCAL_CFLAGS += -DUSE_LUAJIT=1
111 endif
112
113 ifdef NDEBUG
114         LOCAL_CFLAGS += -DNDEBUG=1
115 endif
116
117 ifdef GPROF
118         GPROF_DEF := -DGPROF
119         PROFILER_LIBS := android-ndk-profiler
120         LOCAL_CFLAGS += -pg
121 endif
122
123 LOCAL_C_INCLUDES := \
124         ../../src                                    \
125         ../../src/script                             \
126         ../../lib/gmp                                \
127         ../../lib/jsoncpp                            \
128         deps/$(APP_ABI)/Curl/include                       \
129         deps/$(APP_ABI)/Freetype/include/freetype2         \
130         deps/$(APP_ABI)/Irrlicht/include                   \
131         deps/$(APP_ABI)/Gettext/include                    \
132         deps/$(APP_ABI)/Iconv/include                      \
133         deps/$(APP_ABI)/OpenAL-Soft/include                \
134         deps/$(APP_ABI)/SQLite/include                     \
135         deps/$(APP_ABI)/Vorbis/include                     \
136         deps/$(APP_ABI)/Zstd/include
137
138 ifdef USE_BUILTIN_LUA
139         LOCAL_C_INCLUDES += \
140                 ../../lib/lua/src                    \
141                 ../../lib/bitop
142 else
143         LOCAL_C_INCLUDES += deps/$(APP_ABI)/LuaJIT/include
144 endif
145
146 LOCAL_SRC_FILES := \
147         $(wildcard ../../src/client/*.cpp)           \
148         $(wildcard ../../src/client/*/*.cpp)         \
149         $(wildcard ../../src/content/*.cpp)          \
150         ../../src/database/database.cpp              \
151         ../../src/database/database-dummy.cpp        \
152         ../../src/database/database-files.cpp        \
153         ../../src/database/database-sqlite3.cpp      \
154         $(wildcard ../../src/gui/*.cpp)              \
155         $(wildcard ../../src/irrlicht_changes/*.cpp) \
156         $(wildcard ../../src/mapgen/*.cpp)           \
157         $(wildcard ../../src/network/*.cpp)          \
158         $(wildcard ../../src/script/*.cpp)           \
159         $(wildcard ../../src/script/*/*.cpp)         \
160         $(wildcard ../../src/server/*.cpp)           \
161         $(wildcard ../../src/threading/*.cpp)        \
162         $(wildcard ../../src/util/*.c)               \
163         $(wildcard ../../src/util/*.cpp)             \
164         ../../src/ban.cpp                            \
165         ../../src/chat.cpp                           \
166         ../../src/clientiface.cpp                    \
167         ../../src/collision.cpp                      \
168         ../../src/content_mapnode.cpp                \
169         ../../src/content_nodemeta.cpp               \
170         ../../src/convert_json.cpp                   \
171         ../../src/craftdef.cpp                       \
172         ../../src/debug.cpp                          \
173         ../../src/defaultsettings.cpp                \
174         ../../src/emerge.cpp                         \
175         ../../src/environment.cpp                    \
176         ../../src/face_position_cache.cpp            \
177         ../../src/filesys.cpp                        \
178         ../../src/gettext.cpp                        \
179         ../../src/httpfetch.cpp                      \
180         ../../src/hud.cpp                            \
181         ../../src/inventory.cpp                      \
182         ../../src/inventorymanager.cpp               \
183         ../../src/itemdef.cpp                        \
184         ../../src/itemstackmetadata.cpp              \
185         ../../src/light.cpp                          \
186         ../../src/log.cpp                            \
187         ../../src/main.cpp                           \
188         ../../src/map.cpp                            \
189         ../../src/map_settings_manager.cpp           \
190         ../../src/mapblock.cpp                       \
191         ../../src/mapnode.cpp                        \
192         ../../src/mapsector.cpp                      \
193         ../../src/metadata.cpp                       \
194         ../../src/modchannels.cpp                    \
195         ../../src/nameidmapping.cpp                  \
196         ../../src/nodedef.cpp                        \
197         ../../src/nodemetadata.cpp                   \
198         ../../src/nodetimer.cpp                      \
199         ../../src/noise.cpp                          \
200         ../../src/objdef.cpp                         \
201         ../../src/object_properties.cpp              \
202         ../../src/particles.cpp                      \
203         ../../src/pathfinder.cpp                     \
204         ../../src/player.cpp                         \
205         ../../src/porting.cpp                        \
206         ../../src/porting_android.cpp                \
207         ../../src/profiler.cpp                       \
208         ../../src/raycast.cpp                        \
209         ../../src/reflowscan.cpp                     \
210         ../../src/remoteplayer.cpp                   \
211         ../../src/rollback.cpp                       \
212         ../../src/rollback_interface.cpp             \
213         ../../src/serialization.cpp                  \
214         ../../src/server.cpp                         \
215         ../../src/serverenvironment.cpp              \
216         ../../src/serverlist.cpp                     \
217         ../../src/settings.cpp                       \
218         ../../src/staticobject.cpp                   \
219         ../../src/texture_override.cpp               \
220         ../../src/tileanimation.cpp                  \
221         ../../src/tool.cpp                           \
222         ../../src/translation.cpp                    \
223         ../../src/version.cpp                        \
224         ../../src/voxel.cpp                          \
225         ../../src/voxelalgorithms.cpp
226
227 # Built-in Lua
228 ifdef USE_BUILTIN_LUA
229         LOCAL_SRC_FILES += \
230                 ../../lib/lua/src/lapi.c \
231                 ../../lib/lua/src/lauxlib.c \
232                 ../../lib/lua/src/lbaselib.c \
233                 ../../lib/lua/src/lcode.c \
234                 ../../lib/lua/src/ldblib.c \
235                 ../../lib/lua/src/ldebug.c \
236                 ../../lib/lua/src/ldo.c \
237                 ../../lib/lua/src/ldump.c \
238                 ../../lib/lua/src/lfunc.c \
239                 ../../lib/lua/src/lgc.c \
240                 ../../lib/lua/src/linit.c \
241                 ../../lib/lua/src/liolib.c \
242                 ../../lib/lua/src/llex.c \
243                 ../../lib/lua/src/lmathlib.c \
244                 ../../lib/lua/src/lmem.c \
245                 ../../lib/lua/src/loadlib.c \
246                 ../../lib/lua/src/lobject.c \
247                 ../../lib/lua/src/lopcodes.c \
248                 ../../lib/lua/src/loslib.c \
249                 ../../lib/lua/src/lparser.c \
250                 ../../lib/lua/src/lstate.c \
251                 ../../lib/lua/src/lstring.c \
252                 ../../lib/lua/src/lstrlib.c \
253                 ../../lib/lua/src/ltable.c \
254                 ../../lib/lua/src/ltablib.c \
255                 ../../lib/lua/src/ltm.c \
256                 ../../lib/lua/src/lundump.c \
257                 ../../lib/lua/src/lvm.c \
258                 ../../lib/lua/src/lzio.c \
259                 ../../lib/bitop/bit.c
260 endif
261
262 # GMP
263 LOCAL_SRC_FILES += ../../lib/gmp/mini-gmp.c
264
265 # JSONCPP
266 LOCAL_SRC_FILES += ../../lib/jsoncpp/jsoncpp.cpp
267
268 LOCAL_STATIC_LIBRARIES += \
269         Curl libmbedcrypto libmbedtls libmbedx509 \
270         Freetype \
271         Iconv libcharset \
272         Irrlicht \
273         OpenAL \
274         Gettext \
275         SQLite3 \
276         Vorbis libvorbisfile libogg \
277         Zstd
278 ifndef USE_BUILTIN_LUA
279         LOCAL_STATIC_LIBRARIES += LuaJIT
280 endif
281 LOCAL_STATIC_LIBRARIES += android_native_app_glue $(PROFILER_LIBS)
282
283 LOCAL_LDLIBS := -lEGL -lGLESv1_CM -lGLESv2 -landroid -lOpenSLES
284
285 include $(BUILD_SHARED_LIBRARY)
286
287 ifdef GPROF
288 $(call import-module,android-ndk-profiler)
289 endif
290 $(call import-module,android/native_app_glue)