分享

Cocos2dx

 昵称40876142 2017-03-08

不废话,直接贴,节约时间。需要改进的地方请各位指出,共同学习。

  1. LOCAL_PATH := $(call my-dir)  
  2.   
  3. include $(CLEAR_VARS)  
  4.   
  5. LOCAL_MODULE := cocos2dcpp_shared  
  6.   
  7. LOCAL_MODULE_FILENAME := libcocos2dcpp  
  8.   
  9.   
  10. ###############################################################################  
  11. ##########################手动遍历文件夹以及子目录##############################  
  12. ##########################这是第一种很麻烦的写法################################  
  13. #XLOCAL_C_INCLUDES := \  
  14. #                    $(LOCAL_PATH)/hellocpp \  
  15. #                    $(LOCAL_PATH)/../../Classes  
  16. #  
  17. #XLOCAL_CPPS       := \  
  18. #                    $(wildcard $(LOCAL_PATH)/hellocpp/*.cpp) \  
  19. #                    $(wildcard $(LOCAL_PATH)/../../Classes/*.c) \  
  20. #                    $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp)  
  21. #  
  22. #XLOCAL_SRC_FILES := $(XLOCAL_CPPS:$(LOCAL_PATH)/%=%)  
  23. #  
  24. #LOCAL_C_INCLUDES       += $(XLOCAL_C_INCLUDES)  
  25. #LOCAL_SRC_FILES        := $(XLOCAL_SRC_FILES)  
  26. ###############################################################################  
  27.   
  28.   
  29. ###############################################################################  
  30. ##########################自动遍历文件夹以及子目录##############################  
  31. ##########################这是第二种比较方便的写法##############################  
  32. # 遍历目录及子目录的函数    
  33. #define walk    
  34. #    $(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))    
  35. #endef    
  36. #  
  37. ## 遍历Classes目录    
  38. #ALLFILES = $(call walk, $(LOCAL_PATH)/../../Classes)    
  39. #                       
  40. #FILE_LIST := hellocpp/main.cpp    
  41. ## 从所有文件中提取出所有.cpp文件    
  42. #FILE_LIST += $(filter %.cpp, $(ALLFILES))    
  43. #    
  44. #LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)    
  45. #LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \  
  46. #                    $(LOCAL_PATH)/../../Classes/LogClass  
  47. ###############################################################################  
  48.   
  49.   
  50. ###############################################################################  
  51. ##########################自动遍历文件夹以及子目录(源文件和头文件)################  
  52. ##########################这是第三种之相对最方便的写法###########################  
  53. # 配置自己的源文件目录和源文件后缀名  
  54. APP_FILES_PATH  :=  $(LOCAL_PATH) \  
  55.                     $(LOCAL_PATH)/../../Classes  
  56. APP_FILES_SUFFIX := %.cpp %.c  
  57. # 递归遍历目录下的所有的文件  
  58. rwildcard=$(wildcard $1$2) $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2))  
  59. # 获取相应的源文件  
  60. APP_ALL_FILES := $(foreach src_path,$(APP_FILES_PATH), $(call rwildcard,$(src_path),*.*) )   
  61. APP_ALL_FILES := $(APP_ALL_FILES:$(APP_CPP_PATH)/./%=$(APP_CPP_PATH)%)  
  62. APP_SRC_LIST  := $(filter $(APP_FILES_SUFFIX),$(APP_ALL_FILES))   
  63. APP_SRC_LIST  := $(APP_SRC_LIST:$(LOCAL_PATH)/%=%)  
  64. # 去除字串的重复单词  
  65. define uniq =  
  66.   $(eval seen :=)  
  67.   $(foreach _,$1,$(if $(filter $_,${seen}),,$(eval seen += $_)))  
  68.   ${seen}  
  69. endef  
  70.   
  71. # 递归遍历获取所有目录  
  72. APP_ALL_DIRS := $(dir $(foreach src_path,$(APP_FILES_PATH), $(call rwildcard,$(src_path),*/) ) )  
  73. APP_ALL_DIRS := $(call uniq,$(APP_ALL_DIRS))  
  74. # 赋值给NDK编译系统  
  75. LOCAL_SRC_FILES  := $(APP_SRC_LIST)  
  76. LOCAL_C_INCLUDES := $(APP_ALL_DIRS)  
  77. ###############################################################################  
  78.   
  79.   
  80.   
  81. LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static  
  82. LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static  
  83.   
  84. LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static  
  85. LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_static  
  86. LOCAL_WHOLE_STATIC_LIBRARIES += spine_static  
  87. LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static  
  88. LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static  
  89. LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static  
  90.   
  91.   
  92. include $(BUILD_SHARED_LIBRARY)  
  93.   
  94. $(call import-module,.)  
  95. $(call import-module,audio/android)  
  96.   
  97. $(call import-module,Box2D)  
  98. $(call import-module,editor-support/cocosbuilder)  
  99. $(call import-module,editor-support/spine)  
  100. $(call import-module,editor-support/cocostudio)  
  101. $(call import-module,network)  
  102. $(call import-module,extensions)  


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多