Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES
来源:互联网 发布:正则表达式匹配端口号 编辑:程序博客网 时间:2024/06/15 08:09
原文链接:
http://blog.ready4go.com/blog/2013/10/12/update-android-dot-mk-with-local-src-files-and-local-c-includes/
我在先前的两篇post
编写Android.mk中的LOCAL_SRC_FILES的终极技巧
编写 android.mk 中 LOCAL_C_INCLUDES 的技巧
中提到了一些编译android.mk文件的技巧, 由于都涉及到了shell命令, 导致不能完全在windows下工作, 下面我使用纯净的makefile语法重新编写了脚本
# 配置自己的源文件目录和源文件后缀名MY_FILES_PATH := $(LOCAL_PATH) \ $(LOCAL_PATH)/../../ClassesMY_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)
完全使用makefile语法编写, 可以工作在所有平台上
阅读全文
0 0
- Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES
- Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES
- Update: Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES
- Update: Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES
- cocos2d-x 编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- 编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- 编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- 编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- 编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- [Cocos2d-x]Android.mk中的LOCAL_SRC_FILES的终极技巧
- 编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- 编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- 编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- 编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- 编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- 【安卓】编写 Android.mk 中的 LOCAL_SRC_FILES 的终极技巧*
- 编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- 编写Android.mk中的LOCAL_SRC_FILES的终极技巧
- 秋招总结---求职攻略
- windows 下 直接启用网络诊断
- 第七周 【项目6
- kmeans算法原理以及实践操作(多种k值确定以及如何选取初始点方法)
- 相对路径和绝对路径
- Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES
- Android取消SVN版本控制
- linux系统后台运行java程序
- 什么是CDN (转自知乎)
- JS 异常捕获与处理
- 给数据库字段增加前缀
- Ranger用户使用手册
- TDH(Transwarp Data Hub)社区版安装教程
- docker 入门 window7