zoukankan      html  css  js  c++  java
  • [Cocos2d-x]Android的android.mk文件通用版本

    原文地址:

    http://blog.ready4go.com/blog/2013/10/12/update-android-dot-mk-with-local-src-files-and-local-c-includes/

     

    这个android.mk文件当时折腾我了许久,因为从来没做过android开发,要在短时间之内完成cocos2d-x的android平台移植对我来说还是比较困难的,需要去了解一些概念,理解一些机制,光这个makefile文件就让我蛋碎一地。最后找到上文的链接,作者已经写好了一个通用版本的makefile,在他的基础上做一定的修改终于达到了想要的效果,在此感谢原文作者!

    下面是android.mk的通用原始版本,粘贴出来以作记录,版权归原作者所有,具体信息见本文开头链接

    # 配置自己的源文件目录和源文件后缀名
    MY_FILES_PATH  :=  $(LOCAL_PATH) 
                       $(LOCAL_PATH)/../../Classes
    
    MY_FILES_SUFFIX := %.cpp %.c
    
    # 递归遍历目录下的所有的文件
    rwildcard=$(wildcard $1$2) $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2))
    
    # 获取相应的源文件
    MY_ALL_FILES := $(foreach src_path,$(MY_FILES_PATH), $(call rwildcard,$(src_path),*.*) ) 
    MY_ALL_FILES := $(MY_ALL_FILES:$(MY_CPP_PATH)/./%=$(MY_CPP_PATH)%)
    MY_SRC_LIST  := $(filter $(MY_FILES_SUFFIX),$(MY_ALL_FILES)) 
    MY_SRC_LIST  := $(MY_SRC_LIST:$(LOCAL_PATH)/%=%)
    
    # 去除字串的重复单词
    define uniq =
      $(eval seen :=)
      $(foreach _,$1,$(if $(filter $_,${seen}),,$(eval seen += $_)))
      ${seen}
    endef
    
    # 递归遍历获取所有目录
    MY_ALL_DIRS := $(dir $(foreach src_path,$(MY_FILES_PATH), $(call rwildcard,$(src_path),*/) ) )
    MY_ALL_DIRS := $(call uniq,$(MY_ALL_DIRS))
    
    # 赋值给NDK编译系统
    LOCAL_SRC_FILES  := $(MY_SRC_LIST)
    LOCAL_C_INCLUDES := $(MY_ALL_DIRS)
    人生就是一局不能Again的DOTA
  • 相关阅读:
    加载db2的驱动类,连接数据库URL下的特定schema并插入数据
    vi修改编辑文件提示Write Error!(File System full?)研究与解决
    java实现一次性压缩多个文件
    java转义字符
    统计数字问题0
    系统开关机
    统计数字问题1
    算法的力量
    半数集0
    wBox是一款轻量级的弹出窗口插件
  • 原文地址:https://www.cnblogs.com/hellenism/p/3546069.html
Copyright © 2011-2022 走看看