Android.mk 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. LOCAL_PATH := $(call my-dir)
  2. include $(CLEAR_VARS)
  3. LOCAL_MODULE := cocos2dx_static
  4. LOCAL_MODULE_FILENAME := libcocos2d
  5. LOCAL_ARM_MODE := arm
  6. ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
  7. MATHNEONFILE := math/MathUtil.cpp.neon
  8. else
  9. MATHNEONFILE := math/MathUtil.cpp
  10. endif
  11. LOCAL_SRC_FILES := \
  12. cocos2d.cpp \
  13. platform/CCFileUtils.cpp \
  14. platform/CCImage.cpp \
  15. platform/CCSAXParser.cpp \
  16. $(MATHNEONFILE) \
  17. math/CCGeometry.cpp \
  18. math/CCVertex.cpp \
  19. math/Mat4.cpp \
  20. math/Quaternion.cpp \
  21. math/Vec2.cpp \
  22. math/Vec3.cpp \
  23. math/Vec4.cpp \
  24. math/Mat3.cpp \
  25. base/CCAutoreleasePool.cpp \
  26. base/CCConfiguration.cpp \
  27. base/CCData.cpp \
  28. base/CCRef.cpp \
  29. base/CCValue.cpp \
  30. base/CCThreadPool.cpp \
  31. base/TGAlib.cpp \
  32. base/ZipUtils.cpp \
  33. base/base64.cpp \
  34. base/ccCArray.cpp \
  35. base/ccRandom.cpp \
  36. base/ccTypes.cpp \
  37. base/ccUTF8.cpp \
  38. base/ccUtils.cpp \
  39. base/etc1.cpp \
  40. base/etc2.cpp \
  41. base/pvr.cpp \
  42. base/CCLog.cpp \
  43. base/CCScheduler.cpp \
  44. base/csscolorparser.cpp \
  45. base/CCGLUtils.cpp \
  46. base/CCRenderTexture.cpp \
  47. storage/local-storage/LocalStorage-android.cpp \
  48. network/CCDownloader.cpp \
  49. network/CCDownloader-android.cpp \
  50. network/Uri.cpp \
  51. network/HttpClient-android.cpp \
  52. scripting/js-bindings/auto/jsb_cocos2dx_auto.cpp \
  53. scripting/js-bindings/auto/jsb_cocos2dx_extension_auto.cpp \
  54. scripting/js-bindings/auto/jsb_cocos2dx_network_auto.cpp \
  55. scripting/js-bindings/manual/JavaScriptJavaBridge.cpp \
  56. scripting/js-bindings/manual/jsb_opengl_manual.cpp \
  57. scripting/js-bindings/manual/jsb_opengl_utils.cpp \
  58. scripting/js-bindings/manual/jsb_classtype.cpp \
  59. scripting/js-bindings/manual/jsb_conversions.cpp \
  60. scripting/js-bindings/manual/jsb_cocos2dx_manual.cpp \
  61. scripting/js-bindings/manual/jsb_global.cpp \
  62. scripting/js-bindings/manual/jsb_xmlhttprequest.cpp \
  63. scripting/js-bindings/manual/jsb_cocos2dx_network_manual.cpp \
  64. scripting/js-bindings/manual/jsb_platform_android.cpp \
  65. scripting/js-bindings/jswrapper/config.cpp \
  66. scripting/js-bindings/jswrapper/HandleObject.cpp \
  67. scripting/js-bindings/jswrapper/MappingUtils.cpp \
  68. scripting/js-bindings/jswrapper/RefCounter.cpp \
  69. scripting/js-bindings/jswrapper/Value.cpp \
  70. scripting/js-bindings/jswrapper/State.cpp \
  71. scripting/js-bindings/jswrapper/v8/Class.cpp \
  72. scripting/js-bindings/jswrapper/v8/Object.cpp \
  73. scripting/js-bindings/jswrapper/v8/ObjectWrap.cpp \
  74. scripting/js-bindings/jswrapper/v8/ScriptEngine.cpp \
  75. scripting/js-bindings/jswrapper/v8/Utils.cpp \
  76. scripting/js-bindings/event/EventDispatcher.cpp \
  77. ../external/sources/xxtea/xxtea.cpp \
  78. ../external/sources/tinyxml2/tinyxml2.cpp \
  79. ../external/sources/unzip/ioapi_mem.cpp \
  80. ../external/sources/unzip/ioapi.cpp \
  81. ../external/sources/unzip/unzip.cpp \
  82. ../external/sources/ConvertUTF/ConvertUTFWrapper.cpp \
  83. ../external/sources/ConvertUTF/ConvertUTF.c \
  84. ../external/sources/edtaa3func/edtaa3func.cpp \
  85. ../external/sources/edtaa3func/edtaa3func.h \
  86. ui/edit-box/EditBox-android.cpp \
  87. 2d/CCFontAtlas.cpp \
  88. 2d/CCFontFreetype.cpp \
  89. 2d/CCLabelLayout.cpp \
  90. 2d/CCTTFLabelAtlasCache.cpp \
  91. 2d/CCTTFLabelRenderer.cpp \
  92. 2d/CCTTFTypes.cpp
  93. # v8 debugger source files, always enable it
  94. LOCAL_SRC_FILES += \
  95. scripting/js-bindings/jswrapper/v8/debugger/SHA1.cpp \
  96. scripting/js-bindings/jswrapper/v8/debugger/util.cc \
  97. scripting/js-bindings/jswrapper/v8/debugger/env.cc \
  98. scripting/js-bindings/jswrapper/v8/debugger/inspector_agent.cc \
  99. scripting/js-bindings/jswrapper/v8/debugger/inspector_io.cc \
  100. scripting/js-bindings/jswrapper/v8/debugger/inspector_socket.cc \
  101. scripting/js-bindings/jswrapper/v8/debugger/inspector_socket_server.cc \
  102. scripting/js-bindings/jswrapper/v8/debugger/node.cc \
  103. scripting/js-bindings/jswrapper/v8/debugger/node_debug_options.cc \
  104. scripting/js-bindings/jswrapper/v8/debugger/http_parser.c
  105. # uv_static only used in v8 debugger
  106. LOCAL_STATIC_LIBRARIES += uv_static
  107. LOCAL_STATIC_LIBRARIES += v8_inspector
  108. LOCAL_STATIC_LIBRARIES += cocos_extension_static
  109. # opengl bindings depend on GFXUtils "_JSB_GL_CHECK"
  110. LOCAL_SRC_FILES += \
  111. renderer/gfx/GFXUtils.cpp
  112. ifeq ($(USE_GFX_RENDERER),1)
  113. LOCAL_SRC_FILES += \
  114. renderer/Types.cpp \
  115. renderer/gfx/DeviceGraphics.cpp \
  116. renderer/gfx/FrameBuffer.cpp \
  117. renderer/gfx/GFX.cpp \
  118. renderer/gfx/GraphicsHandle.cpp \
  119. renderer/gfx/IndexBuffer.cpp \
  120. renderer/gfx/Program.cpp \
  121. renderer/gfx/RenderBuffer.cpp \
  122. renderer/gfx/RenderTarget.cpp \
  123. renderer/gfx/State.cpp \
  124. renderer/gfx/Texture.cpp \
  125. renderer/gfx/Texture2D.cpp \
  126. renderer/gfx/VertexBuffer.cpp \
  127. renderer/gfx/VertexFormat.cpp \
  128. renderer/renderer/BaseRenderer.cpp \
  129. renderer/renderer/Camera.cpp \
  130. renderer/renderer/Config.cpp \
  131. renderer/renderer/Effect.cpp \
  132. renderer/renderer/InputAssembler.cpp \
  133. renderer/renderer/Light.cpp \
  134. renderer/renderer/Model.cpp \
  135. renderer/renderer/Pass.cpp \
  136. renderer/renderer/ProgramLib.cpp \
  137. renderer/renderer/Scene.cpp \
  138. renderer/renderer/Technique.cpp \
  139. renderer/renderer/View.cpp \
  140. renderer/renderer/ForwardRenderer.cpp \
  141. renderer/scene/assembler/Assembler.cpp \
  142. renderer/scene/assembler/AssemblerBase.cpp \
  143. renderer/scene/assembler/CustomAssembler.cpp \
  144. renderer/scene/assembler/MaskAssembler.cpp \
  145. renderer/scene/assembler/RenderData.cpp \
  146. renderer/scene/assembler/RenderDataList.cpp \
  147. renderer/scene/assembler/TiledMapAssembler.cpp \
  148. renderer/scene/assembler/AssemblerSprite.cpp \
  149. renderer/scene/assembler/SimpleSprite2D.cpp \
  150. renderer/scene/assembler/SlicedSprite2D.cpp \
  151. renderer/scene/assembler/SimpleSprite3D.cpp \
  152. renderer/scene/assembler/SlicedSprite3D.cpp \
  153. renderer/scene/assembler/MeshAssembler.cpp \
  154. renderer/scene/assembler/Particle3DAssembler.cpp \
  155. renderer/scene/MeshBuffer.cpp \
  156. renderer/scene/ModelBatcher.cpp \
  157. renderer/scene/NodeProxy.cpp \
  158. renderer/scene/RenderFlow.cpp \
  159. renderer/scene/StencilManager.cpp \
  160. renderer/scene/MemPool.cpp \
  161. renderer/scene/NodeMemPool.cpp \
  162. renderer/scene/ParallelTask.cpp \
  163. renderer/memop/RecyclePool.hpp \
  164. renderer/renderer/EffectVariant.cpp \
  165. renderer/renderer/EffectBase.cpp \
  166. scripting/js-bindings/auto/jsb_gfx_auto.cpp \
  167. scripting/js-bindings/auto/jsb_renderer_auto.cpp \
  168. scripting/js-bindings/manual/jsb_renderer_manual.cpp \
  169. scripting/js-bindings/manual/jsb_gfx_manual.cpp
  170. endif # USE_GFX_RENDERER
  171. ifeq ($(USE_VIDEO),1)
  172. LOCAL_SRC_FILES += \
  173. ui/videoplayer/VideoPlayer-android.cpp \
  174. scripting/js-bindings/auto/jsb_video_auto.cpp
  175. endif # USE_VIDEO
  176. ifeq ($(USE_WEB_VIEW),1)
  177. LOCAL_SRC_FILES += \
  178. ui/webview/WebViewImpl-android.cpp \
  179. scripting/js-bindings/auto/jsb_webview_auto.cpp
  180. endif # USE_WEB_VIEW
  181. ifeq ($(USE_AUDIO),1)
  182. LOCAL_SRC_FILES += \
  183. scripting/js-bindings/auto/jsb_cocos2dx_audioengine_auto.cpp
  184. LOCAL_STATIC_LIBRARIES += audioengine_static
  185. endif # USE_AUDIO
  186. ifeq ($(USE_SOCKET),1)
  187. LOCAL_SRC_FILES += \
  188. network/SocketIO.cpp \
  189. network/WebSocket-libwebsockets.cpp \
  190. network/WebSocketServer.cpp \
  191. scripting/js-bindings/manual/jsb_socketio.cpp \
  192. scripting/js-bindings/manual/jsb_websocket.cpp \
  193. scripting/js-bindings/manual/jsb_websocket_server.cpp
  194. LOCAL_STATIC_LIBRARIES += libwebsockets_static
  195. LOCAL_STATIC_LIBRARIES += cocos_ssl_static
  196. LOCAL_STATIC_LIBRARIES += cocos_crypto_static
  197. LOCAL_STATIC_LIBRARIES += uv_static
  198. endif # USE_SOCKET
  199. ifneq ($(USE_MIDDLEWARE),0)
  200. LOCAL_STATIC_LIBRARIES += editor_support_static
  201. endif # USE_MIDDLEWARE
  202. LOCAL_C_INCLUDES := $(LOCAL_PATH) \
  203. $(LOCAL_PATH)/.. \
  204. $(LOCAL_PATH)/platform \
  205. $(LOCAL_PATH)/editor-support \
  206. $(LOCAL_PATH)/../external/android/$(TARGET_ARCH_ABI)/include \
  207. $(LOCAL_PATH)/../external/sources \
  208. $(LOCAL_PATH)/renderer \
  209. $(LOCAL_PATH)/scripting/js-bindings/manual \
  210. $(LOCAL_PATH)/scripting/js-bindings/manual/platform/android \
  211. $(LOCAL_PATH)/scripting/js-bindings/auto \
  212. $(LOCAL_PATH)/renderer/gfx
  213. LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) \
  214. $(LOCAL_PATH)/.. \
  215. $(LOCAL_PATH)/platform \
  216. $(LOCAL_PATH)/base \
  217. $(LOCAL_PATH)/network \
  218. $(LOCAL_PATH)/../external/android/$(TARGET_ARCH_ABI)/include \
  219. $(LOCAL_PATH)/../external/sources \
  220. $(LOCAL_PATH)/renderer
  221. LOCAL_STATIC_LIBRARIES += cocos_png_static
  222. LOCAL_STATIC_LIBRARIES += cocos_jpeg_static
  223. ifeq ($(USE_TIFF),1)
  224. LOCAL_STATIC_LIBRARIES += cocos_tiff_static
  225. endif
  226. LOCAL_STATIC_LIBRARIES += cocos_webp_static
  227. LOCAL_STATIC_LIBRARIES += cocos_zlib_static
  228. LOCAL_STATIC_LIBRARIES += v8_static
  229. LOCAL_STATIC_LIBRARIES += cocos_freetype_static
  230. LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dxandroid_static
  231. LOCAL_WHOLE_STATIC_LIBRARIES += cpufeatures
  232. # define the macro to compile through support/zip_support/ioapi.c
  233. LOCAL_CFLAGS := -DUSE_FILE32API -fexceptions
  234. # Issues #9968
  235. #ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
  236. # LOCAL_CFLAGS += -DHAVE_NEON=1
  237. #endif
  238. LOCAL_CPPFLAGS := -Wno-deprecated-declarations
  239. LOCAL_EXPORT_CFLAGS := -DUSE_FILE32API
  240. LOCAL_EXPORT_CPPFLAGS := -Wno-deprecated-declarations
  241. include $(BUILD_STATIC_LIBRARY)
  242. #==============================================================
  243. #$(call import-module,.)
  244. $(call import-module,android)
  245. $(call import-module,editor-support)
  246. $(call import-module,platform/android)
  247. $(call import-module,audio/android)
  248. $(call import-module,extensions)
  249. $(call import-module,android/cpufeatures)