示例
    /** Android.mk文件必须从这一行定义开始,my-dir宏是build系统自带的函数,返回当前目录 */
    LOCAL_PATH := $(call my-dir)
    /** CLEAR_VARS是build系统自带的变量,指示makefile脚本清除所有LOCAL_XXX变量,除了LOCAL_PATH */
    include $(CLEAR_VARS)
    /** LOCAL_MODULE变量必须被定义以区分模块,所以名字必须是唯一的且不能包含任何空白,build系统会据此自动生成Lib文件名,比如,libhello-jni.so */
    LOCAL_MODULE := hello-jni
    /** LOCAL_SRC_FILES变量必须包含C/C++的源代码列表,不要列出头文件和include文件,因为build系统会自动检查每个文件的依赖 */
    LOCAL_SRC_FILES := hello-jni.c
    /** BUILD_SHARED_LIBRARY是build系统自带的变量,指示makefile脚本收集自最近一次CLEAR_VARS之后我们定义的所有LOCAL_XXX变量,并且指示生成的是Shared Library。与之相对的变量是BUILD_STATIC_LIBRARY */
    include $(BUILD_SHARED_LIBRARY)
    NOTE:以LOCAL_、PRIVATE_、NDK_、APP_开头的变量以及小写字母的变量时build系统的保留字,建议使用MY_<prefix>来定义自己的变量。

NDK宏函数
    调用:$(call <function>)
    my-dir:返回当前Android.mk文件所在的目录
    all-subdir-makefiles:返回在当前my-dir的所有子目录中的Android.mk文件的列表
    this-makefile:返回当前Android.mk的路径
    parent-makefile:返回上一层Android.mk的路径
    grand-parent-makefile:

模块描述变量
    LOCAL_PATH:当前基准路径
    LOCAL_MODULE:模块名称,必须唯一
    LOCAL_SRC_FILES:构建模块的源文件列表
    LOCAL_CPP_EXTENSION:C++文件扩展名,默认为.cpp
    LOCAL_C_INCLUDES:相对于NDK根路径的C include文件列表
    LOCAL_CFLAGS:C和C++的编译标志
    LOCAL_CXXFLAGS:LOCAL_CPPFLAGS的别名
    LOCAL_CPPFLAGS:C++的编译标志
    LOCAL_STATIC_LIBRARIES:链接的static libraries列表,仅对shared library有效
    LOCAL_SHARED_LIBRARIES:运行时依赖的shared libraries列表
    LOCAL_LDLIBS:额外的连接标志,比如链接系统库文件libz.o,则LOCAL_LDLIBS:=-lz
    LOCAL_ALLOW_UNDEFINED_SYMBOLS:允许没有定义的符号
    LOCAL_ARM_MODE、LOCAL_ARM_NEON、LOCAL_DISABLE_NO_EXECUTE看不懂

转载于:https://www.cnblogs.com/babyking/archive/2011/03/14/1984112.html

Android makefile相关推荐

  1. Android makefile文件解析

    Android makefile文件解析 Android编译过程详解 编译步骤 Android的编译步骤包括三步: 1.通过source build/envsetup.sh命令将sh文件中的命令加载到 ...

  2. Android Makefile中inherit-product函数和include的区别

    在 Android Makefile中inherit-product函数和include都是执行某个文件. include 使用: include device/mediatek/mt2712/dev ...

  3. Android Makefile中inherit-product函数简介,以及与include的区别

    在 Android Makefile 中时不时会看见 inherit-product 函数的使用,类似下方这样:         $(call  inherit-product,  vendor/do ...

  4. Android Makefile编译流程

    ★★★ 友情链接 : 个人博客导读首页-点击此处 ★★★ 1.整编译 当中android根目录下敲击make时候,根目录下的Makefile就一句话include build/core/main.mk ...

  5. Android Makefile分析

    首先是可能用得到的基础知识,必须了解基础Makefile的语法,然后下面是Andriod用来编译相应模块使用的核心makefile,当然如果要速成的话也可以不看这些东西,直接按照后面的例子添加就可以了 ...

  6. Android Makefile 及Android.mk 整理

    1.如何在Makefile及Android.mk文件中输出打印信息. Makefile中打印输出信息的方法是:$(warning xxxxx)或者$(error xxxxx) 输出变量方式为:$(wa ...

  7. Android makefile编译流程(二)

    ★★★ 友情链接 : 个人博客导读首页-点击此处 ★★★ 在build/core/main.mk中找到第一个目标,其makefile树关系如下: 然后我们逐一分析这些目标. ============= ...

  8. 【转】android makefile文件分析

    Makefile的规则如下: target ... : prerequisites ... command ... ... target可以是一个目标文件,也可以是Object File(例如hell ...

  9. Samsung x210 Android makefile 的一些配置实例问题

    1 驱动移植找不的编译时候的产品定义:TARGET_PRODUCT 起因: 编译驱动模块时候,出现错误:system/wlan/atheros/AR6kSDK.build_3.1_RC.734/hos ...

最新文章

  1. 【Qt】Qt5.x移植后的环境配置(imx6)
  2. python调用cmd命令会弹出黑框_python 调用cmd,不显示cmd黑框
  3. java贪吃蛇教程_用Java做的贪吃蛇,简单版......
  4. git常用命令和场景
  5. 54 分布式任务队列Celery
  6. 开发日记-20190827 关键词 计算机网络
  7. 泛函分析2——Normed Linear Spaces
  8. NumPy快速入门--形状操作
  9. 斜面上的根骨骼运动以及刚体测试
  10. 牛顿插值实验报告C语言,牛顿插值C语言.doc
  11. 关于html语义化 以下哪个说法是正确呢,前端面试题2019年网易工程师面试题及答案解析...
  12. SpringBoot-技术专区-详细打印启动时异常堆栈信息
  13. grpc 可以传递context嘛_Python中使用gRPC方法示例
  14. animation-fill-mode的一些思考
  15. Android实现计算器布局(表格布局)
  16. seqkit根据基因id_AgriSeq 靶向测序法基因分型技术
  17. 利用Matlab进行图像处理
  18. matlab 图像内接矩形,图像轮廓最大内接矩形的求法
  19. json parser类的使用
  20. Hive文件存储格式(建表stored as 的五种类型)

热门文章

  1. 打开editor的接口讨论
  2. 3.3 1!到n!的和
  3. 关于如何使用xposed来hook微信软件
  4. Docker实践:Cannot connect to the Docker daemon.
  5. 注册验证的时候一直出现的报错问题,终于解决了
  6. 从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~三 分部类是否破坏了单一职责...
  7. linux中的memory management和page mapping
  8. t-sne原理解释_T-SNE解释-数学与直觉
  9. leetcode542. 01 矩阵(bfs/dp)
  10. leetcode343. 整数拆分(动态规划)