cocos2dx3.2移植android

LOCAL_PATH := $(call my-dir)
LOCAL_MYDIR = $(LOCAL_PATH)/../../Classes
include $(CLEAR_VARS)android

$(call import-add-path,$(LOCAL_PATH)/../../cocos2d)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/external)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos/editor-support)ios

LOCAL_MODULE := cocos2dcpp_shared
LOCAL_MODULE_FILENAME := libcocos2dcppshell


#1 定義查找全部cpp文件的宏
define all-cpp-files
$(patsubst ./%,%, $(shell find $(LOCAL_MYDIR) -name "*.cpp"))
endefcurl

#2 定義查找全部c文件的宏,android有默認定義,此處可酌情省略
define all-c-files
$(patsubst ./%,%, $(shell find $(LOCAL_MYDIR) -name "*.c"))
endef優化

#3 經過查找獲取全部工程文件列表
CPP_FILE_LIST := $(call all-cpp-files)
C_FILE_LIST := $(call all-c-files)ui

#4 加入工程文件,之因此不直接加是須要進行一個LOCAL_PATH的替換
$(warning "prase begin")
LOCAL_SRC_FILES := $(CPP_FILE_LIST:$(LOCAL_PATH)/%=%)
LOCAL_SRC_FILES += $(C_FILE_LIST:$(LOCAL_PATH)/%=%)
LOCAL_SRC_FILES += CPP_FILE_LIST
LOCAL_SRC_FILES += C_FILE_LIST
LOCAL_SRC_FILES += $(LOCAL_PATH)/main.cpp
$(warning "prase end")lua

define all-include-dirs
$(patsubst ./%,%, $(shell find $(LOCAL_MYDIR) -type d))
endefurl

#5 加入頭文件
#LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_C_INCLUDES := $(call all-include-dirs)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/external
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/cocos/editor-support/
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/cocos/editor-support/cocostudio
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/cocos/editor-support/spine
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/cocos/ui
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/extensions
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/cocos/network
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/external/curl/include/ios
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/external/lua/lua
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/external/lua/toluaip

#6 須要連接的系統默認庫 編譯器

#7 加入靜態庫,加了LOCAL_WHOLE_STATIC_LIBRARIES表明編譯器會將靜態庫完整連接而不會進行刪減優化
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static

# LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
# LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_static
LOCAL_WHOLE_STATIC_LIBRARIES += spine_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static
LOCAL_WHOLE_STATIC_LIBRARIES += ui_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_lua_static

#8 預編譯宏
LOCAL_CPP_FEATURES += exceptions
LOCAL_CFLAGS := -DUSE_FILE32API
LOCAL_EXPORT_CFLAGS := -DUSE_FILE32API

#9 聲明生成靜態庫
include $(BUILD_SHARED_LIBRARY)

#10 添加外部導入庫目錄

#11 添加導入庫(基於上一行添加的導入庫目錄)
$(call import-module,.)
$(call import-module,audio/android)

# $(call import-module,Box2D)# $(call import-module,editor-support/cocosbuilder)$(call import-module,editor-support/spine)$(call import-module,editor-support/cocostudio)$(call import-module,ui)$(call import-module,network)$(call import-module,extensions)$(call import-module,scripting/lua-bindings)

相關文章
相關標籤/搜索