Android.mk文件解析
一、变量解析
1、LOCAL_PATH
- 当前模块位置
my_dir
系统提供的宏函数,返回当前文件所在的路径$(call my_dir)
调用该函数
2、include $(CLEAR_VARS)
- 清除除了
LOCAL_PATH
变量外的LOCAL_XXX变量 - 所有的编译控制文件都在同一个GNU MAKE执行环境中,所有的编译控制文件由同一个GNU Make解析和执行,其变量是全局的。所以清理后才能避免相互影响。
3、LOCAL_SRC_FILES
- 需要编译的文件
$(all-proto-files-under,src)
src目录下所有proto文件
4、LOCAL_MODULE
5、编译结果
include $(BUILD_JAVA_LIBRARY)
:编译成java库include $(BUILD_PACKAGE)
:编译成apkinclude $(BUILD_STATIC_LIBRARY)
:编译成静态库include $(BUILD_SHARED_LIBRARY)
:编译成动态库
6、LOCAL_MODULE_TAGS
- 编译的标签
- 常见的标签:debug,eng,user,development或optional(默认)
7、LOCAL_C_INCLUDES
8、LOCAL_SHARED_LIBRARIES