Android.mk中call all-subdir-makefiles和call all-makefiles-under,$(LOCAL_PATH)的区别

在写Android.mk文件时,call all-subdir-makefiles和call all-makefiles-under,$(LOCAL_PATH)是有区别的。

前者表示“当前目录下没有需要编译的文件,请向子目录深入”,是告诉编译器继续向目录深处递归的一种规定写法。后者从字面上理解也应该是同一个意思。但是,请考虑这样一种情况:

如果当前目录下有文件需要编译,而且在当前目录下还有子目录,子目录中也有文件需要编译,那么当前目录下的Android.mk除了要包含编译当前目录下文件的语句,同样也要包含告诉编译器在编译完当前目录下的文件后,继续向子目录深入的语句。这里就有一个问题,后面这个语句该如何写呢?是call all-subdir-makefiles,还是call all-makefiles-under,$(LOCAL_PATH)呢?这里经过我的实验,写前者是不行的,编译器会在编译完当前目录下的文件后不再进入子目录编译。而写成后者则可以达到我们的期望。

Android.mk中call all-subdir-makefiles和call all-makefiles-under,$(LOCAL_PATH)的区别相关推荐

  1. Android.mk中添加宏定义

    在Boardconfig.mk 中添加一个 IMAGE_FOR_FACTORY_TEST:= true 由于Boardconfig.mk和各目录的Android.mk是相互关联的 所以我们可以在And ...

  2. Android 系统(140)---android.mk中几个常见配置

    android.mk中几个常见配置 1.LOCAL_JACK_ENABLED 这个变量可以禁止使用Jack编译工具链编译该模块.在工作中,个人感觉目前jack工具链不是很稳定,经常会出现一些错误,比如 ...

  3. android.mk local_cppflags,android.mk中LOCAL_CFLAGS 介绍

    模块描述变量: 下面的变量用于向编译系统描述你的模块.你应该定义在'include $(CLEAR_VARS)'和'include $(BUILD_XXXXX)'之间定义.正如前面描写的那样,$(CL ...

  4. 编写Android.mk中的LOCAL_SRC_FILES,使其自动查找源文件,不需要手动添加

    在使用NDK编译C/C++项目的过程中,免不了要编写Android.mk文件,其中最重要的就是android.mk源文件列表. cpp文件位于android项目下的的不同文件夹和子文件夹下 按照通常的 ...

  5. 【转】Update: Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES

    看原文请移步:Update: Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES 我在先前的两篇post 编写Android.mk中的LOCAL_SRC_F ...

  6. Android.mk中的LOCAL_OVERRIDES_PACKAGES

    关于Android.mk中的LOCAL_OVERRIDES_PACKAGES需要说明一下,此变量可以使其他的模块不加入编译, 如: 源码中DeskClock的android.mk有 LOCAL_OVE ...

  7. android.mk多个module,Android.mk中的变量的使用介绍(二)

    废话不多说,直接分享,欢迎斧正. Android.mk中的变量(二) 1.LOCAL_PATH 这个变量用于给出当前文件的路径.你必须在Android.mk的开头定义.例如: LOCAL_PATH : ...

  8. Android.mk 编译c语言,编写 android.mk 中 LOCAL_C_INCLUDES 的技巧

    编写 android.mk 中 LOCAL_C_INCLUDES 的技巧 在编写android.mk的过程中,免不了要修改LOCAL_C_INCLUDES来设置头文件的include目录, 一般写成这 ...

  9. android.mk中几个常见配置

    1.LOCAL_JACK_ENABLED 这个变量可以禁止使用Jack编译工具链编译该模块.在工作中,个人感觉目前jack工具链不是很稳定,经常会出现一些错误,比如: ERROR: Security ...

最新文章

  1. Spring Boot配置文件放在jar外部
  2. java -XX:+PrintFlagsInitial该命令可以查看所有JVM参数启动的初始值
  3. eclipse物联网_Eclipse如何推动物联网发展
  4. 算法之最长公共子序列(LCS)问题
  5. MyBatis源码阅读(四) --- SqlSession的创建过程
  6. Tomcat 修改网站旁边的小图标
  7. 百度商桥点击咨询自定义按钮
  8. 什么是磁盘?磁盘的组成?接口和分区?
  9. Travis CI 持续集成工具 教程
  10. iOS 直播间礼物动画队列
  11. 寒武纪芯片创始人:要让AI芯片计算效率提高一万倍
  12. 6-1 计算捐款总量 (10分)
  13. 关于ElasticSearch (ES)
  14. lucas定理(学习笔记)
  15. MacOs卸载Adobe后还有残留进程的解决方法
  16. Git 里面的 origin 到底代表什么意思?【转载】
  17. WordPress 高仿 36KR 登录界面
  18. 时间放大器——简介与基本硬件结构
  19. HotSpot(三):PV值计算
  20. 生物-海底人:海底人

热门文章

  1. mvc:view-controller
  2. Memcached实战之单机部署----单实例/多实例
  3. eclipse的editor does not contain a main type错误
  4. 机器学习----监督学习算法之决策树(Decision Tree)
  5. 深度学习 --- 受限玻尔兹曼机RBM(MCMC接受率详解)
  6. python爬知识星球付费数据_python抓取知识星球精选帖,制作为pdf文件
  7. linux 文件大小 自动变化 写,Linux下自动清理超过指定大小文件的方法
  8. [转帖]linux /proc目录下的文件为何无法用vi编辑保存
  9. spring-test跟junit结合单元测试获取ApplicationContext实例的方法
  10. 进程、轻量级进程(LWP)、线程