终极Android.mk模板,遍历头文件和源文件目录
2017-12-24 14:58
489 查看
结构简洁、条理清晰的代码结构,是一个项目便于管理,代码模块化的前提。
梳理代码结构发现代码所使用的android.mk各种各样,混乱不堪,遂整理出一个基础模板,供大家使用。其中包含了常见的一些功能,还有头文件路径遍历和源文件指定目录遍历等。
梳理代码结构发现代码所使用的android.mk各种各样,混乱不堪,遂整理出一个基础模板,供大家使用。其中包含了常见的一些功能,还有头文件路径遍历和源文件指定目录遍历等。
LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) PROJECT_PATH = $(LOCAL_PATH)/.. LOCAL_MODULE := libmodule LOCAL_LDFLAGS += -shared #添加模块使用宏定义 LOCAL_CFLAGS += -DMODULE_FLAG #添加需要包含的头文件路径,会依次遍历向下所有目录, MY_HEADER_PATH += $(PROJECT_PATH) #添加需要包含的头文件路径,不会向下遍历,最后一个不要加\号 LOCAL_C_INCLUDES += $(PROJECT_PATH)../include LOCAL_C_INCLUDES += $(shell find $(MY_HEADER_PATH) -type d) $(warning "$(LOCAL_MODULE): LOCAL_C_INCLUDES =$(LOCAL_C_INCLUDES)") # 扫描目录下的所有源文件,会向下依次遍历 MY_FILES_PATH := $(PROJECT_PATH) # 添加指定C/CPP文件,只添加某个 LOCAL_SRC_FILES += $(LOCAL_PATH)/test.c MY_FILES_SUFFIX := %.cpp %.c %.cc My_All_Files := $(foreach src_path,$(MY_FILES_PATH), $(shell find "$(src_path)" -type f) ) 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)/%=%) LOCAL_SRC_FILES += $(MY_SRC_LIST) $(warning "$(LOCAL_MODULE): LOCAL_SRC_FILES =$(LOCAL_SRC_FILES)") #添加需要链接的静态库 LOCAL_STATIC_LIBRARIES := #添加需要链接的动态库 LOCAL_SHARED_LIBRARIES := $(warning "$(LOCAL_MODULE): LOCAL_SHARED_LIBRARIES=$(LOCAL_SHARED_LIBRARIES)") #添加需要链接的系统库,如ndk编译,需要链接的log/android等 LOCAL_LDLIBS += -llog -landroid -lc #指定编译目标,这边编译动态库 include $(BUILD_SHARED_LIBRARY)
相关文章推荐
- 终极Android.mk模板,遍历头文件和源文件目录
- 终极Android.mk模板,遍历头文件和源文件目录
- 终极Android.mk模板,遍历头文件和源文件目录
- Android .mk文件语法规范及使用模板
- Android.mk文件语法规范及使用模板
- Android.mk文件语法规范及使用模板
- Android.mk遍历子目录所有文件
- Android.mk文件语法规范及使用模板
- Android.mk文件语法规范 & 使用模板
- Android.mk文件语法规范及使用模板
- Android.mk文件语法规范及使用模板
- Android.mk文件语法规范及使用模板
- Android.mk文件语法规范及使用模板
- Android .mk文件语法规范及使用模板
- android快速遍历目录及查找文件
- Android.mk文件语法规范及使用模板
- Android.mk文件语法规范及使用模板
- Android.mk文件语法规范及使用模板
- Android遍历特定目录下所有文件,包含子目录的, 并删除最新创建的
- Android.mk文件语法规范及使用模板