Android.mk 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380
  1. LOCAL_PATH := $(call my-dir)
  2. include $(CLEAR_VARS)
  3. # OpenAL
  4. LOCAL_MODULE := openal
  5. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/openal/libopenal.a
  6. include $(PREBUILT_STATIC_LIBRARY)
  7. include $(CLEAR_VARS)
  8. # OGG
  9. LOCAL_MODULE := ogg
  10. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libogg/libogg.a
  11. include $(PREBUILT_STATIC_LIBRARY)
  12. include $(CLEAR_VARS)
  13. # Vorbis
  14. LOCAL_MODULE := vorbis
  15. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libvorbis/lib/libvorbis.a
  16. include $(PREBUILT_STATIC_LIBRARY)
  17. include $(CLEAR_VARS)
  18. # Vorbisfile
  19. LOCAL_MODULE := vorbisfile
  20. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libvorbis/lib/libvorbisfile.a
  21. include $(PREBUILT_STATIC_LIBRARY)
  22. include $(CLEAR_VARS)
  23. # CURL
  24. LOCAL_MODULE := curl
  25. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/curl/lib/libcurl.a
  26. include $(PREBUILT_STATIC_LIBRARY)
  27. include $(CLEAR_VARS)
  28. # libmbedtls
  29. LOCAL_MODULE := libmbedtls
  30. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/mbedtls/library/libmbedtls.a
  31. include $(PREBUILT_STATIC_LIBRARY)
  32. include $(CLEAR_VARS)
  33. # libmbedcrypto
  34. LOCAL_MODULE := libmbedcrypto
  35. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/mbedtls/library/libmbedcrypto.a
  36. include $(PREBUILT_STATIC_LIBRARY)
  37. include $(CLEAR_VARS)
  38. # libmbedx509
  39. LOCAL_MODULE := libmbedx509
  40. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/mbedtls/library/libmbedx509.a
  41. include $(PREBUILT_STATIC_LIBRARY)
  42. include $(CLEAR_VARS)
  43. # JPEG
  44. LOCAL_MODULE := libjpeg
  45. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libjpeg/libjpeg.a
  46. include $(PREBUILT_STATIC_LIBRARY)
  47. include $(CLEAR_VARS)
  48. # zlib
  49. LOCAL_MODULE := zlib
  50. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/zlib/libz.a
  51. include $(PREBUILT_STATIC_LIBRARY)
  52. include $(CLEAR_VARS)
  53. # PNG
  54. LOCAL_MODULE := png
  55. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libpng/libpng.a
  56. include $(PREBUILT_STATIC_LIBRARY)
  57. include $(CLEAR_VARS)
  58. # Freetype
  59. LOCAL_MODULE := freetype
  60. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/freetype/build/libfreetype.a
  61. include $(PREBUILT_STATIC_LIBRARY)
  62. include $(CLEAR_VARS)
  63. # Harfbuzz
  64. LOCAL_MODULE := harfbuzz
  65. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/harfbuzz/build/libharfbuzz.a
  66. include $(PREBUILT_STATIC_LIBRARY)
  67. include $(CLEAR_VARS)
  68. # shaderc
  69. LOCAL_MODULE := shaderc
  70. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/shaderc/libshaderc/libshaderc_combined.a
  71. include $(PREBUILT_STATIC_LIBRARY)
  72. include $(CLEAR_VARS)
  73. # libsquish
  74. LOCAL_MODULE := libsquish
  75. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libsquish/libsquish.a
  76. include $(PREBUILT_STATIC_LIBRARY)
  77. include $(CLEAR_VARS)
  78. # astc-encoder
  79. LOCAL_MODULE := libastcenc
  80. LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/astc-encoder/Source/libastcenc.a
  81. include $(PREBUILT_STATIC_LIBRARY)
  82. include $(CLEAR_VARS)
  83. # ifaddrs
  84. LOCAL_MODULE := ifaddrs
  85. LOCAL_PATH := .
  86. LOCAL_SRC_FILES := ../lib/ifaddrs/ifaddrs.c
  87. LOCAL_CFLAGS := -I../lib/ifaddrs
  88. # Starting NDK21 it enables NEON by default on 32-bit ARM target
  89. # Disable it to support more phones
  90. ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
  91. LOCAL_ARM_NEON := false
  92. endif
  93. include $(BUILD_STATIC_LIBRARY)
  94. include $(CLEAR_VARS)
  95. # AngelScript
  96. LOCAL_MODULE := angelscript
  97. LOCAL_PATH := .
  98. LOCAL_CPP_FEATURES += rtti exceptions
  99. LOCAL_SRC_FILES := $(wildcard ../lib/angelscript/source/*.S) \
  100. $(wildcard ../lib/angelscript/source/*.cpp)
  101. LOCAL_CFLAGS := -I../lib/angelscript/source/
  102. ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
  103. LOCAL_ARM_NEON := false
  104. endif
  105. include $(BUILD_STATIC_LIBRARY)
  106. include $(CLEAR_VARS)
  107. # ENET
  108. LOCAL_MODULE := enet
  109. LOCAL_PATH := .
  110. LOCAL_CPP_FEATURES += rtti
  111. LOCAL_SRC_FILES := $(wildcard ../lib/enet/*.c)
  112. LOCAL_CFLAGS := -I../lib/enet/include/ -DHAS_SOCKLEN_T -DENABLE_IPV6
  113. ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
  114. LOCAL_ARM_NEON := false
  115. endif
  116. include $(BUILD_STATIC_LIBRARY)
  117. include $(CLEAR_VARS)
  118. # Bullet
  119. LOCAL_MODULE := bullet
  120. LOCAL_PATH := .
  121. LOCAL_CPP_FEATURES += rtti
  122. LOCAL_SRC_FILES := $(wildcard ../lib/bullet/src/*/*.cpp) \
  123. $(wildcard ../lib/bullet/src/*/*/*.cpp)
  124. LOCAL_CFLAGS := -I../lib/bullet/src/
  125. ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
  126. LOCAL_ARM_NEON := false
  127. endif
  128. include $(BUILD_STATIC_LIBRARY)
  129. include $(CLEAR_VARS)
  130. # Graphics utils
  131. LOCAL_MODULE := graphics_utils
  132. LOCAL_PATH := .
  133. LOCAL_CPP_FEATURES += rtti
  134. LOCAL_SRC_FILES := $(wildcard ../lib/graphics_utils/mipmap/*.c)
  135. LOCAL_CFLAGS := -I../lib/graphics_utils/mipmap \
  136. -I../lib/simd_wrapper
  137. ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
  138. LOCAL_ARM_NEON := false
  139. endif
  140. include $(BUILD_STATIC_LIBRARY)
  141. include $(CLEAR_VARS)
  142. # Graphics engine
  143. LOCAL_MODULE := graphics_engine
  144. LOCAL_PATH := .
  145. LOCAL_CPP_FEATURES += rtti exceptions
  146. LOCAL_SRC_FILES := $(wildcard ../lib/graphics_engine/src/*.c) \
  147. $(wildcard ../lib/graphics_engine/src/*.cpp)
  148. LOCAL_CFLAGS := -DENABLE_LIBASTCENC \
  149. -I../lib/graphics_engine/include \
  150. -I../lib/graphics_utils \
  151. -I../lib/sdl2/include/ \
  152. -I../lib/bullet/src/ \
  153. -I../lib/irrlicht/include/ \
  154. -I../lib/shaderc/libshaderc/include \
  155. -I../lib/libsquish \
  156. -Ideps-$(TARGET_ARCH_ABI)/astc-encoder/Source
  157. ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
  158. LOCAL_ARM_NEON := false
  159. endif
  160. LOCAL_STATIC_LIBRARIES := shaderc libsquish libastcenc
  161. include $(BUILD_STATIC_LIBRARY)
  162. include $(CLEAR_VARS)
  163. # MCPP
  164. LOCAL_MODULE := mcpp
  165. LOCAL_PATH := .
  166. LOCAL_CPP_FEATURES += rtti
  167. LOCAL_SRC_FILES := $(wildcard ../lib/mcpp/*.c)
  168. LOCAL_CFLAGS := -DMCPP_LIB -DHAVE_CONFIG_H
  169. ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
  170. LOCAL_ARM_NEON := false
  171. endif
  172. include $(BUILD_STATIC_LIBRARY)
  173. include $(CLEAR_VARS)
  174. # SheenBidi
  175. LOCAL_MODULE := sheenbidi
  176. LOCAL_PATH := .
  177. LOCAL_CPP_FEATURES += rtti
  178. LOCAL_SRC_FILES := $(wildcard ../lib/sheenbidi/Source/*.c)
  179. LOCAL_CFLAGS := -I../lib/sheenbidi/Headers
  180. ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
  181. LOCAL_ARM_NEON := false
  182. endif
  183. include $(BUILD_STATIC_LIBRARY)
  184. include $(CLEAR_VARS)
  185. # tinygettext
  186. LOCAL_MODULE := tinygettext
  187. LOCAL_PATH := .
  188. LOCAL_CPP_FEATURES += rtti exceptions
  189. LOCAL_SRC_FILES := $(wildcard ../lib/tinygettext/src/*.cpp)
  190. LOCAL_CFLAGS := -I../lib/tinygettext/include -DDISABLE_ICONV
  191. ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
  192. LOCAL_ARM_NEON := false
  193. endif
  194. include $(BUILD_STATIC_LIBRARY)
  195. include $(CLEAR_VARS)
  196. # Irrlicht
  197. LOCAL_MODULE := irrlicht
  198. LOCAL_PATH := .
  199. LOCAL_CPP_FEATURES += rtti exceptions
  200. LOCAL_SRC_FILES := $(wildcard ../lib/irrlicht/source/Irrlicht/*.cpp)
  201. LOCAL_CFLAGS := -I../lib/irrlicht/source/Irrlicht/ \
  202. -I../lib/irrlicht/include/ \
  203. -I../src \
  204. -Ideps-$(TARGET_ARCH_ABI)/libjpeg/ \
  205. -Ideps-$(TARGET_ARCH_ABI)/libpng/ \
  206. -Ideps-$(TARGET_ARCH_ABI)/zlib/ \
  207. -I../lib/sdl2/include/ \
  208. -I../lib/graphics_engine/include \
  209. -DMOBILE_STK \
  210. -DANDROID_PACKAGE_CALLBACK_NAME=$(PACKAGE_CALLBACK_NAME)
  211. LOCAL_CPPFLAGS := -std=gnu++0x
  212. LOCAL_STATIC_LIBRARIES := libjpeg png zlib
  213. ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
  214. LOCAL_ARM_NEON := false
  215. endif
  216. include $(BUILD_STATIC_LIBRARY)
  217. include $(CLEAR_VARS)
  218. # SDL2
  219. LOCAL_MODULE := SDL2
  220. LOCAL_PATH := .
  221. LOCAL_SRC_FILES := $(wildcard ../lib/sdl2/src/*.c) \
  222. $(wildcard ../lib/sdl2/src/audio/*.c) \
  223. $(wildcard ../lib/sdl2/src/audio/android/*.c) \
  224. $(wildcard ../lib/sdl2/src/audio/dummy/*.c) \
  225. $(wildcard ../lib/sdl2/src/audio/aaudio/*.c) \
  226. $(wildcard ../lib/sdl2/src/audio/openslES/*.c) \
  227. ../lib/sdl2/src/atomic/SDL_atomic.c.arm \
  228. ../lib/sdl2/src/atomic/SDL_spinlock.c.arm \
  229. $(wildcard ../lib/sdl2/src/core/android/*.c) \
  230. $(wildcard ../lib/sdl2/src/cpuinfo/*.c) \
  231. $(wildcard ../lib/sdl2/src/dynapi/*.c) \
  232. $(wildcard ../lib/sdl2/src/events/*.c) \
  233. $(wildcard ../lib/sdl2/src/file/*.c) \
  234. $(wildcard ../lib/sdl2/src/haptic/*.c) \
  235. $(wildcard ../lib/sdl2/src/haptic/android/*.c) \
  236. $(wildcard ../lib/sdl2/src/hidapi/*.c) \
  237. $(wildcard ../lib/sdl2/src/hidapi/android/*.cpp) \
  238. $(wildcard ../lib/sdl2/src/joystick/*.c) \
  239. $(wildcard ../lib/sdl2/src/joystick/android/*.c) \
  240. $(wildcard ../lib/sdl2/src/joystick/hidapi/*.c) \
  241. $(wildcard ../lib/sdl2/src/joystick/virtual/*.c) \
  242. $(wildcard ../lib/sdl2/src/loadso/dlopen/*.c) \
  243. $(wildcard ../lib/sdl2/src/locale/android/*.c) \
  244. $(wildcard ../lib/sdl2/src/locale/*.c) \
  245. $(wildcard ../lib/sdl2/src/misc/*.c) \
  246. $(wildcard ../lib/sdl2/src/misc/android/*.c) \
  247. $(wildcard ../lib/sdl2/src/power/*.c) \
  248. $(wildcard ../lib/sdl2/src/power/android/*.c) \
  249. $(wildcard ../lib/sdl2/src/filesystem/android/*.c) \
  250. $(wildcard ../lib/sdl2/src/sensor/*.c) \
  251. $(wildcard ../lib/sdl2/src/sensor/android/*.c) \
  252. $(wildcard ../lib/sdl2/src/render/*.c) \
  253. $(wildcard ../lib/sdl2/src/render/*/*.c) \
  254. $(wildcard ../lib/sdl2/src/stdlib/*.c) \
  255. $(wildcard ../lib/sdl2/src/thread/*.c) \
  256. $(wildcard ../lib/sdl2/src/thread/pthread/*.c) \
  257. $(wildcard ../lib/sdl2/src/timer/*.c) \
  258. $(wildcard ../lib/sdl2/src/timer/unix/*.c) \
  259. $(wildcard ../lib/sdl2/src/video/*.c) \
  260. $(wildcard ../lib/sdl2/src/video/android/*.c) \
  261. $(wildcard ../lib/sdl2/src/video/yuv2rgb/*.c)
  262. LOCAL_CFLAGS := -I../lib/sdl2/include/ -DGL_GLEXT_PROTOTYPES
  263. LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -lOpenSLES -llog -landroid
  264. LOCAL_STATIC_LIBRARIES := cpufeatures
  265. ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
  266. LOCAL_ARM_NEON := false
  267. endif
  268. include $(BUILD_SHARED_LIBRARY)
  269. include $(CLEAR_VARS)
  270. # STK
  271. LOCAL_MODULE := main
  272. LOCAL_PATH := .
  273. LOCAL_CPP_FEATURES += rtti exceptions
  274. LOCAL_SRC_FILES := $(wildcard ../src/*.cpp) \
  275. $(wildcard ../src/*/*.cpp) \
  276. $(wildcard ../src/*/*/*.cpp)
  277. LOCAL_LDLIBS := -llog -lm -lOpenSLES
  278. LOCAL_CFLAGS := -I../lib/angelscript/include \
  279. -I../lib/bullet/src \
  280. -I../lib/sheenbidi/Headers \
  281. -I../lib/enet/include \
  282. -I../lib/ifaddrs \
  283. -I../lib/irrlicht/include \
  284. -I../lib/irrlicht/source/Irrlicht \
  285. -I../lib/graphics_utils \
  286. -I../lib/graphics_engine/include \
  287. -I../lib/mcpp \
  288. -I../lib/sdl2/include \
  289. -I../lib/tinygettext/include \
  290. -I../lib/libsquish \
  291. -I../src \
  292. -Ideps-$(TARGET_ARCH_ABI)/curl/include \
  293. -Ideps-$(TARGET_ARCH_ABI)/freetype/include \
  294. -Ideps-$(TARGET_ARCH_ABI)/harfbuzz/include \
  295. -Ideps-$(TARGET_ARCH_ABI)/libogg/include \
  296. -Ideps-$(TARGET_ARCH_ABI)/libvorbis/include \
  297. -Ideps-$(TARGET_ARCH_ABI)/openal/include \
  298. -Ideps-$(TARGET_ARCH_ABI)/mbedtls/include \
  299. -DUSE_GLES2 \
  300. -DMOBILE_STK \
  301. -DENABLE_SOUND \
  302. -DENABLE_IPV6 \
  303. -DENABLE_CRYPTO_MBEDTLS \
  304. -DNDEBUG \
  305. -DDISABLE_ICONV \
  306. -DANDROID_PACKAGE_NAME=\"$(PACKAGE_NAME)\" \
  307. -DANDROID_APP_DIR_NAME=\"$(APP_DIR_NAME)\" \
  308. -DSUPERTUXKART_VERSION=\"$(PROJECT_VERSION)\" \
  309. -DANDROID_PACKAGE_CLASS_NAME=\"$(PACKAGE_CLASS_NAME)\"
  310. LOCAL_CPPFLAGS := -std=gnu++0x
  311. LOCAL_STATIC_LIBRARIES := irrlicht bullet enet ifaddrs angelscript mcpp SDL2 \
  312. vorbisfile vorbis ogg openal curl libmbedtls \
  313. libmbedcrypto libmbedx509 c++_static sheenbidi \
  314. harfbuzz freetype tinygettext graphics_utils \
  315. graphics_engine
  316. ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
  317. LOCAL_ARM_NEON := false
  318. endif
  319. include $(BUILD_SHARED_LIBRARY)
  320. include $(CLEAR_VARS)
  321. $(call import-module, android/cpufeatures)