[Cocos2d-x]Android的android.mk文件通用版本
2014-02-12 15:39
381 查看
原文地址:
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的通用原始版本,粘贴出来以作记录,版权归原作者所有,具体信息见本文开头链接
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)
相关文章推荐
- Cocos2d-x移植到Android平台编译的两个文件Android.mk和Application.mk
- cocos2d-x 3.0 android mk文件 之 自动遍历*.cpp文件
- cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法
- Android.mk文件中包含cpp文件的三种写法-(cocos2d-x 学习笔记)
- cocos2d-x 避免手打输入项目cpp文件到android.mk里面编译
- cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法
- Cocos2d-x3.2编译配置android.mk文件生成apk文件
- cocos2d-x 3.0 android mk文件 之 自动遍历*.cpp文件
- Cocos2d-x的Android.mk文件NDK_MODULE_PATH配置
- Cocos2d-x移植到Android平台编译的两个文件Android.mk和Application.mk
- cocos2d-x 3.3 引用第三方库 及编译成apk时android mk文件写法
- 一次搞定cocos2d-x的 Android.mk 文件
- 做一个懒COCOS2D-X程序猿(一)停止手打所有cpp文件到android.mk
- cocos2d-x避免手动修改android.mk文件来编译
- 做一个懒cocos2d-x程序猿(一)停止手打所有cpp文件到android.mk
- Cocos2d-X移植时android.mk文件的处理方式
- COCOS2D-X 停止手打所有cpp文件到android.mk
- cocos2d-x android.mk文件中添加源文件,不需要每个cpp都去手动去包含一次
- Cocos2d-x移植到Android平台编译的两个文件Android.mk和Application.mk
- cocos2d-x避免手动修改android.mk文件来编译