Android makefile mk 重要参数解释及 通用模板编写
来源:互联网 发布:修仙记神翼进阶数据 编辑:程序博客网 时间:2024/05/20 16:35
本文来自 csdn lidp 转载著名出处。
1. LOCAL_MODULE_TAGS解释:
控制此模块在什么情况下编译,一般为下面写法:
LOCAL_MODULE_TAGS:= optional
可选择的几个值:
user:指该模块只在user版本下才编译
eng: 指该模块只在eng版本下才编译
tests: 指该模块只在tests版本下才编译
optional:指该模块在所有版本下都编译
2. include $(CLEAR_VARS)
CLEAR_VARS变量是生成系统提供的,它指向一个特殊的GNU Makefile.这个Makefile将会为你自动清除
许多名为LOCAL_XXX的变量(比如:LOCAL_MODULE,LOCAL_SRC_FILES,LOCAL_STATIC_LIBRARIES,,,),
但LOCAL_PATH是例外,它不会被清除。这些变量的清除是必须的,因为所有的控制文件是在单一的GNU make
执行环境中解析的,在这里所有的变量都是全局的。
3.LOCAL_PATH
这个变量用来设置当前文件的路径。必须在Android.mk的开始处定义它,比如:
LOCAL_PATH := $(call my-dir)
这个变量不会被$(CLEAR_VARS)消除,所以每个Android.mk仅需一个定义(以防你在
同一个文件里定义几个组件)。
4. LOCAL_MODULE := xxx
此mk文件生成的程序名称,包括动态库,静态库和可执行程序,如果为动态库,会生成libxxx.so文件
5. LOCAL_SRC_FILES := xxx.c
生成目标程序/库需要的源文件(*.c, *.cpp,*.java)列表
6. include $(BUILD_SHARED_LIBRARY)
编译此模块为动态库
7. include $(BUILD_STATIC_LIBRARY)
生成静态库
8. include $(BUILD_EXECUTABLE)
生成可执行程序
9. LOCAL_SHARED_LIBRARIES
程序依赖的动态库列表,例如
LOCAL_SHARED_LIBRARIES := \
libutils
10. LOCAL_STATIC_LIBRARIES
程序依赖的静态库列表
11. LOCAL_CFLAGS += -Wall -Werror
编译c文件的参数,如设置Wall,优化级别等编译器参数。
12. LOCAL_C_INCLUDES +=
头文件列表
13. include $(BUILD_HOST_STATIC_LIBRARY)
生成宿主机静态库
android.mk 模板:
LOCAL_PATH:= $(call my-dir)
#源文件列表
common_SRC_FILES := \
xxx.cpp \
xxxx.cpp
#头文件列表
common_C_INCLUDES := \
xxx.h
#依赖的动态库列表
common_SHARED_LIBRARIES := \
xxx
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(common_SRC_FILES) #common_SRC_FILES 为变量,保存源文件列表
LOCAL_C_INCLUDES += $(common_C_INCLUDES) #头文件列表
LOCAL_SHARED_LIBRARIES += $(common_SHARED_LIBRARIES)
LOCAL_CFLAGS += -fvisibility=hidden #此处根据需要调整参数
LOCAL_MODULE:= xxx #生成的程序名
include $(BUILD_STATIC_LIBRARY) #此处有三个选择:可执行程序,动态库,静态库调,用上面提到的三个宏
谢绝转载。
- Android makefile mk 重要参数解释及 通用模板编写
- android make file 参数解释及模板(即 android.mk内容解释)
- makefile解释及模板
- 通用的Makefile及解释
- 通用的Makefile及解释
- 通用的Makefile及解释
- Android.mk 浅析 模块编译Makefile编写
- Android.mk 浅析 模块编译Makefile编写
- Android.mk 浅析 模块编译Makefile编写
- Android.mk 浅析 模块编译Makefile编写
- Android.mk 浅析 模块编译Makefile编写
- Android.mk 浅析 模块编译Makefile编写
- 通用Makefile及部分解释(转)
- Android Makefile 及Android.mk 整理
- 【Linux】多文件标准工程目录的Makefile编写及通用模板
- Android.mk & AndroidManifest.xml编写及注释
- UBoot顶层Makefile及config.mk确定的相关参数
- Makefile通用编写规则
- 设计模式:工厂方法和抽象工厂
- 使用redmine的自定义问题状态以及工作流功能
- BlackBoard设计说明书
- 9、判断整数序列是不是二元查找树的后序遍历结果
- 分治法--第K小
- Android makefile mk 重要参数解释及 通用模板编写
- 2D手机Dota游戏设计思路
- 第二周报告3-2
- Ubuntu 环境变量
- Android.mk for your own module
- 如何将数据库从SQL Server迁移到MySQL
- 第二周实验报告2
- virt-v2v 虚拟机到虚拟机的转换详解
- VC++中,获取窗口句柄的常用方法