Android.mk 文件语法规范
来源:互联网 发布:360自动优化工具 编辑:程序博客网 时间:2024/05/16 10:10
转载:http://www.cnblogs.com/likwo/archive/2012/08/08/2629075.html
- LOCAL_PATH := $(call my-dir)
一个 Android.mk 文件,首先必须定义好 LOCAL_PATH 变量。它用于在开发树中查找源文件。宏函数 'my-dir' 由编译系统提供,用于返回当前路径(即包含 Android.mk 文件的目录)
- include $(CLEAR_VARS)
CLEAR_VARS 由编译系统提供,指定让 GNU makefile 为你清除许多 LOCAL_XXX 变量(如 LOCAL_MODULE、LOCAL_SRC_FILES 等等),除了 LOCAL_PATH
- LOCAL_MODULE 变量
LOCAL_MODULE 变量必须定义,以标识在 Android.mk 文件中描述的每个模块,名称必须是唯一的,而且不包含空格。编译系统会自动产生合适的前缀和后缀
可以在一个 Android.mk 文件中定义多个编译模块,每个编译模块都是以 include $(CLEAR_VARS) 开始,以 include $(BUILD_XXX) 结束
- LOCAL_SRC_FILES 变量
LOCAL_SRC_FILES 变量必须包含将要编译打包进模块中的 C 或 C++ 源代码文件。不用在这里列出头文件和包含文件,编译系统会自动找出依赖型的文件
包含多个文件的方法:LOCAL_SRC_FILES := xxx.c xxx.c xxx.c 或者 LOCAL_SRC_FILES += xxx.c
- LOCAL_DEFAULT_CPP_EXTENSION 变量
可选变量,用来指定 C++ 代码文件的扩展名,默认是 .cpp
- LOCAL_C_INCLUDES 变量
可选变量,路径的可选配置,需要在任何包含 LOCAL_CFLAGS/LOCAL_CPPFLAGS 标志之前
- LOCAL_CFLAGS 变量
可选变量,编译器选项,在编译 C 代码文件的时候使用
- LOCAL_CPPFLAGS 变量
可选变量,对 C 和 C++ 代码文件都适用
- LOCAL_STATIC_LIBRARIES
可选变量,应该链接到这个模块的静态库列表
- LOCAL_SHARED_LIBRARIES
可选变量,在运行时要依赖的共享库模块列表
- LOCAL_LDLIBS
可选变量,编译你的模块要使用的附加的链接器选项,可以使用 "-l" 前缀指定库的名字。例如:
LOCAL_LDLIBS := -lz,表示模块在加载时要链接到 /system/lib/libz.so
- LOCAL_ALLOW_UNDEFINED_SYMBOLS
可选变量,默认情况下编译一个共享库时,任何未定义的引用将导致一个 “未定义的符号” 错误,然而如果需要不启动这项检查,把这个变量设为 "true"
- LOCAL_ARM_MODE
默认情况下,arm 目标二进制会以 thumb 的形式生成(16位),如果希望模块是以32位指令的形式,可以通过设置这个变量为 arm,LOCAL_ARM_MODE := arm
- include $(BUILD_XXX)
指定生成可执行文件:BUILD_EXECUTABLE
指定生成静态库:BUILD_STATIC_LIBRARY
指定生成动态库:BUILD_SHARED_LIBRARY
0 0
- 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.mk文件语法规范
- Android.mk文件语法规范
- Android.mk文件语法规范
- Android.mk文件语法规范
- UItextField 一键删除小按钮
- 类与类之间的关系
- 网络相关的一些基本的命令的使用(ping、ifconfig、route、netstat)---Linux学习笔记
- python中的高阶函数map(),reduce(),filter()的区别
- java初学第一天之:安装及记事本编程
- Android.mk 文件语法规范
- Android_使用Android studio分析内存泄露
- 如何写一篇好的博客
- NDK-JNI官方中文资料
- Java匿名内部类
- matlab去掉坐标
- 在一套安装了keystone的环境上,安装openstack swift(centos6.5)
- 在运行时开启GC日志
- 无线权威指南