设为首页 加入收藏

TOP

2.4.1 Android.mk(5)
2014-07-23 20:30:18 来源: 作者: 【 】 浏览:128
Tags:2.4.1 Android.mk

2.4.1  Android.mk(5)

LOCAL_EXPORT_CFLAGS:该变量记录一组编译器标志,这些编译器标志会被添加到通过变量LOCAL_STATIC_LIBRARIES或LOCAL_SHARED_LIBRARIES使用本模块的其他模块的LOCAL_CFLAGS定义中。
 

  1. LOCAL_MODULE :avilib 
  2. ...  
  3. LOCAL_EXPORT_CFLAGS := − DENABLE_AUDIO  
  4. ...  
  5. LOCAL_MODULE :module1 
  6. LOCAL_CFLAGS := − DDEBUG  
  7. ...  
  8. LOCAL_SHARED_LIBRARIES :avilib 

编译器在构建module1时会以-DENABLE_AUDIO  –DDEBUG标志执行。

LOCAL_EXPORT_CPPFLAGS:和LOCAL_EXPORT_CLAGS一样,但是它是C++特定代码编译器标志。

LOCAL_EXPORT_LDFLAGS:和LOCAL_EXPORT_CFLAGS一样,但用作链接器标志。

LOCAL_EXPORT_C_INCLUDES:该变量允许记录路径集,这些路径会被添加到通过变量LOCAL_STATIC_LIBRARIES或LOCAL_SHARED_LIBRARIES使用该模块的LOCAL_C_INCLUDES定义中。

LOCAL_SHORT_COMMANDS:对于有大量资源或独立的静态/共享库的模块,该变量应该被设置为true。诸如Windows之类的操作系统只允许命令行最多输入8 191个字符;该变量通过分解构建命令使其长度小于8 191个字符。在较小的模块中不推荐使用该方法,因为使用它会让构建过程变慢。

LOCAL_FILTER_ASM:该变量定义了用于过滤来自LOCAL_SRC_FILES变量的装配文件的应用程序。

9. 其他的构建系统函数宏

本节概括了Android NDK构建系统支持的其他函数宏。

all-subdir-makefiles:返回当前目录的所有子目录下的Android.mk构建文件列表。例如,调用以下命令可以将子目录下的所有Android.mk文件包含在构建过程中:
 

  1. include $(call all-subdir-makefiles) 

this-makefile:返回当前Android.mk构建文件的路径。

parent-makefile:返回包含当前构建文件的父Android.mk构建文件的路径。

grand-parent-makefile:和parent-makefile一样但用于祖父目录。

10. 定义新变量

开发人员可以定义其他变量来简化他们的构建文件。以LOCAL_和NDK_前缀开头的名称预留给Android NDK构建系统使用。建议开发人员定义的变量以MY_开头,如程序清单2-9所示。

程序清单2-9  表示开发人员定义的中间变量的使用方法的Android.mk文件
 

  1. ...  
  2. MY_SRC_FILES :avilib.c platform_posix.c  
  3. LOCAL_SRC_FILES := $(addprefix avilib/, $(MY_SRC_FILES))  
  4. ... 

11. 条件操作

Android.mk构建文件也可以包含关于这些变量的条件操作,例如:在每个体系结构中包含一个不同的源文件集,如程序清单2-10所示。

程序清单2-10  包含条件操作的构建文件Android.mk
 

  1. ...  
  2. ifeq ($(TARGET_ARCH),arm)  
  3. LOCAL_SRC_FILES + = armonly.c  
  4. else  
  5. LOCAL_SRC_FILES + = generic.c  
  6. endif  
  7. ... 

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:342347198

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.4.1 Android.mk(4) 下一篇2.4.2 Application.mk

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·About - Redis (2025-12-26 08:20:56)
·Redis: A Comprehens (2025-12-26 08:20:53)
·Redis - The Real-ti (2025-12-26 08:20:50)
·Bash 脚本教程——Li (2025-12-26 07:53:35)
·实战篇!Linux shell (2025-12-26 07:53:32)