1 LOCAL_PATH := $(call my-dir)/..
3 #LOCAL_ADDRESS_SANITIZER:=true
6 LOCAL_MODULE := Irrlicht
7 LOCAL_SRC_FILES := deps/irrlicht/lib/Android/libIrrlicht.a
8 include $(PREBUILT_STATIC_LIBRARY)
10 #include $(CLEAR_VARS)
11 #LOCAL_MODULE := LevelDB
12 #LOCAL_SRC_FILES := deps/leveldb/libleveldb.a
13 #include $(PREBUILT_STATIC_LIBRARY)
17 LOCAL_SRC_FILES := deps/curl-7.35.0/lib/.libs/libcurl.a
18 include $(PREBUILT_STATIC_LIBRARY)
21 LOCAL_MODULE := freetype
22 LOCAL_SRC_FILES := deps/freetype2-android/Android/obj/local/$(TARGET_ARCH_ABI)/libfreetype2-static.a
23 include $(PREBUILT_STATIC_LIBRARY)
26 LOCAL_MODULE := openal
27 LOCAL_SRC_FILES := deps/openal-soft/libs/$(TARGET_LIBDIR)/libopenal.so
28 include $(PREBUILT_SHARED_LIBRARY)
32 LOCAL_SRC_FILES := deps/libvorbis-libogg-android/libs/$(TARGET_LIBDIR)/libogg.so
33 include $(PREBUILT_SHARED_LIBRARY)
36 LOCAL_MODULE := vorbis
37 LOCAL_SRC_FILES := deps/libvorbis-libogg-android/libs/$(TARGET_LIBDIR)/libvorbis.so
38 include $(PREBUILT_SHARED_LIBRARY)
42 LOCAL_SRC_FILES := deps/openssl-android/libs/$(TARGET_LIBDIR)/libssl.so
43 include $(PREBUILT_SHARED_LIBRARY)
46 LOCAL_MODULE := crypto
47 LOCAL_SRC_FILES := deps/openssl-android/libs/$(TARGET_LIBDIR)/libcrypto.so
48 include $(PREBUILT_SHARED_LIBRARY)
52 LOCAL_MODULE := minetest
54 LOCAL_CPP_FEATURES += exceptions
60 LOCAL_CFLAGS := -D_IRR_ANDROID_PLATFORM_ \
61 -DHAVE_TOUCHSCREENGUI \
66 -pipe -fstrict-aliasing
69 LOCAL_CFLAGS += -g -D_DEBUG -O0 -fno-omit-frame-pointer
71 LOCAL_CFLAGS += -fexpensive-optimizations -O3
75 PROFILER_LIBS := android-ndk-profiler
79 # LOCAL_CFLAGS += -fsanitize=address
80 # LOCAL_LDFLAGS += -fsanitize=address
82 ifeq ($(TARGET_ARCH_ABI),x86)
83 LOCAL_CFLAGS += -fno-stack-protector
87 jni/src jni/src/sqlite \
92 deps/irrlicht/include \
93 deps/freetype2-android/include \
94 deps/curl-7.35.0/include \
95 deps/openal-soft/jni/OpenAL/include \
96 deps/libvorbis-libogg-android/jni/include
98 # deps/leveldb/include \
105 jni/src/cavegen.cpp \
108 jni/src/clientiface.cpp \
109 jni/src/clientmap.cpp \
110 jni/src/clientmedia.cpp \
111 jni/src/clientobject.cpp \
113 jni/src/collision.cpp \
114 jni/src/connection.cpp \
115 jni/src/content_abm.cpp \
116 jni/src/content_cao.cpp \
117 jni/src/content_cso.cpp \
118 jni/src/content_mapblock.cpp \
119 jni/src/content_mapnode.cpp \
120 jni/src/content_nodemeta.cpp \
121 jni/src/content_sao.cpp \
122 jni/src/convert_json.cpp \
123 jni/src/craftdef.cpp \
124 jni/src/database-dummy.cpp \
125 jni/src/database-sqlite3.cpp \
126 jni/src/database.cpp \
128 jni/src/defaultsettings.cpp \
129 jni/src/drawscene.cpp \
130 jni/src/dungeongen.cpp \
132 jni/src/environment.cpp \
133 jni/src/filecache.cpp \
134 jni/src/filesys.cpp \
136 jni/src/genericobject.cpp \
137 jni/src/gettext.cpp \
138 jni/src/guiChatConsole.cpp \
139 jni/src/guiEngine.cpp \
140 jni/src/guiFileSelectMenu.cpp \
141 jni/src/guiFormSpecMenu.cpp \
142 jni/src/guiKeyChangeMenu.cpp \
143 jni/src/guiPasswordChange.cpp \
144 jni/src/guiTable.cpp \
145 jni/src/guiVolumeChange.cpp \
146 jni/src/httpfetch.cpp \
148 jni/src/inventory.cpp \
149 jni/src/inventorymanager.cpp \
150 jni/src/itemdef.cpp \
151 jni/src/keycode.cpp \
153 jni/src/localplayer.cpp \
157 jni/src/mapblock.cpp \
158 jni/src/mapblock_mesh.cpp \
160 jni/src/mapgen_indev.cpp \
161 jni/src/mapgen_math.cpp \
162 jni/src/mapgen_singlenode.cpp \
163 jni/src/mapgen_v6.cpp \
164 jni/src/mapgen_v7.cpp \
165 jni/src/mapnode.cpp \
166 jni/src/mapsector.cpp \
169 jni/src/nameidmapping.cpp \
170 jni/src/nodedef.cpp \
171 jni/src/nodemetadata.cpp \
172 jni/src/nodetimer.cpp \
174 jni/src/object_properties.cpp \
175 jni/src/particles.cpp \
176 jni/src/pathfinder.cpp \
178 jni/src/porting_android.cpp \
179 jni/src/porting.cpp \
180 jni/src/quicktune.cpp \
181 jni/src/rollback.cpp \
182 jni/src/rollback_interface.cpp \
183 jni/src/serialization.cpp \
185 jni/src/serverlist.cpp \
186 jni/src/serverobject.cpp \
192 jni/src/sound_openal.cpp \
193 jni/src/staticobject.cpp \
194 jni/src/subgame.cpp \
198 jni/src/treegen.cpp \
199 jni/src/version.cpp \
201 jni/src/voxelalgorithms.cpp \
202 jni/src/util/directiontables.cpp \
203 jni/src/util/numeric.cpp \
204 jni/src/util/pointedthing.cpp \
205 jni/src/util/serialize.cpp \
206 jni/src/util/string.cpp \
207 jni/src/util/timetaker.cpp \
208 jni/src/touchscreengui.cpp
210 # jni/src/database-leveldb.cpp \
214 jni/src/script/common/c_content.cpp \
215 jni/src/script/common/c_converter.cpp \
216 jni/src/script/common/c_internal.cpp \
217 jni/src/script/common/c_types.cpp \
218 jni/src/script/cpp_api/s_base.cpp \
219 jni/src/script/cpp_api/s_entity.cpp \
220 jni/src/script/cpp_api/s_env.cpp \
221 jni/src/script/cpp_api/s_inventory.cpp \
222 jni/src/script/cpp_api/s_item.cpp \
223 jni/src/script/cpp_api/s_mainmenu.cpp \
224 jni/src/script/cpp_api/s_node.cpp \
225 jni/src/script/cpp_api/s_nodemeta.cpp \
226 jni/src/script/cpp_api/s_player.cpp \
227 jni/src/script/cpp_api/s_server.cpp \
228 jni/src/script/cpp_api/s_async.cpp \
229 jni/src/script/lua_api/l_base.cpp \
230 jni/src/script/lua_api/l_craft.cpp \
231 jni/src/script/lua_api/l_env.cpp \
232 jni/src/script/lua_api/l_inventory.cpp \
233 jni/src/script/lua_api/l_item.cpp \
234 jni/src/script/lua_api/l_mainmenu.cpp \
235 jni/src/script/lua_api/l_mapgen.cpp \
236 jni/src/script/lua_api/l_nodemeta.cpp \
237 jni/src/script/lua_api/l_nodetimer.cpp \
238 jni/src/script/lua_api/l_noise.cpp \
239 jni/src/script/lua_api/l_object.cpp \
240 jni/src/script/lua_api/l_particles.cpp \
241 jni/src/script/lua_api/l_rollback.cpp \
242 jni/src/script/lua_api/l_server.cpp \
243 jni/src/script/lua_api/l_settings.cpp \
244 jni/src/script/lua_api/l_util.cpp \
245 jni/src/script/lua_api/l_vmanip.cpp \
246 jni/src/script/scripting_game.cpp \
247 jni/src/script/scripting_mainmenu.cpp
251 jni/src/cguittfont/xCGUITTFont.cpp
255 jni/src/lua/src/lapi.c \
256 jni/src/lua/src/lauxlib.c \
257 jni/src/lua/src/lbaselib.c \
258 jni/src/lua/src/lcode.c \
259 jni/src/lua/src/ldblib.c \
260 jni/src/lua/src/ldebug.c \
261 jni/src/lua/src/ldo.c \
262 jni/src/lua/src/ldump.c \
263 jni/src/lua/src/lfunc.c \
264 jni/src/lua/src/lgc.c \
265 jni/src/lua/src/linit.c \
266 jni/src/lua/src/liolib.c \
267 jni/src/lua/src/llex.c \
268 jni/src/lua/src/lmathlib.c \
269 jni/src/lua/src/lmem.c \
270 jni/src/lua/src/loadlib.c \
271 jni/src/lua/src/lobject.c \
272 jni/src/lua/src/lopcodes.c \
273 jni/src/lua/src/loslib.c \
274 jni/src/lua/src/lparser.c \
275 jni/src/lua/src/lstate.c \
276 jni/src/lua/src/lstring.c \
277 jni/src/lua/src/lstrlib.c \
278 jni/src/lua/src/ltable.c \
279 jni/src/lua/src/ltablib.c \
280 jni/src/lua/src/ltm.c \
281 jni/src/lua/src/lundump.c \
282 jni/src/lua/src/lvm.c \
283 jni/src/lua/src/lzio.c \
284 jni/src/lua/src/print.c
287 LOCAL_SRC_FILES += jni/src/sqlite/sqlite3.c
291 jni/src/jthread/pthread/jevent.cpp \
292 jni/src/jthread/pthread/jmutex.cpp \
293 jni/src/jthread/pthread/jsemaphore.cpp \
294 jni/src/jthread/pthread/jthread.cpp
297 LOCAL_SRC_FILES += jni/src/json/jsoncpp.cpp
299 LOCAL_SHARED_LIBRARIES := openal ogg vorbis ssl crypto
300 LOCAL_STATIC_LIBRARIES := Irrlicht freetype curl android_native_app_glue $(PROFILER_LIBS)
302 LOCAL_LDLIBS := -lEGL -llog -lGLESv1_CM -lGLESv2 -lz -landroid
304 include $(BUILD_SHARED_LIBRARY)
306 # at the end of Android.mk
308 $(call import-module,android-ndk-profiler)
310 $(call import-module,android/native_app_glue)