android编译系统(一):GUN Make简介

对于大型项目,源文件通常非常多,不可能逐个编译。make工具是一款自动编译工具,可以用于大型项目编译。

make具有高度灵活性:如果项目仅仅修改某几个源文件,则只需重新编译这几个源文件;如果某个头文件被修改了;则需重新编译所有引用该头文件的源文件。

-------------------------------------------------------------------------------------

makefile 文件是编译信息描述文件。

Make是一个解释Makefile文件的命令工具。

android编译系统是基于GUN Makefile的,但是某些高级特性有所拓展。

-------------------------------------------------------------------------------------

Makefile是Rule的集合,Rule的格式是:

target ... : prerequisites ...

command1

command2

...

只要有任何一个prerequisites(条件)有变更target(目标)就会被更新。目标被更新意味着command(命令)列表将被全部执行一遍。

command(命令)列表必须以制表符(Tab)打头,绝不可用空格替代。(Mackfile中会对每个Tab打头的命令创建一个Shell进程去执行)

-------------------------------------------------------------------------------------

Android编译系统的入口文件是位于$ANDROID_HOME根目录下的Makefile文件,此文件中只有一行命令:

include build/core/main.mk

这里的build目录才是整个Android编译系统描述集的真正所在。其他每个目录下的Makefile文件都引用此目录下众多文件定义的变量和函数。

-------------------------------------------------------------------------------------

Android编译系统中,GUN Makefile文件名是Android.mk

Makefile文件一般包含以下元素:

1、名称,即编译后生成的目标文件文件名,格式是:LOCAL_MODULE := <your_name>

2、清除局部变量:include $(CLEAR_VARS)

3、引入依赖文件:LOCAL_SRC_FILES := main.c

4、标签:LOCAL_MODULE_TAGS := eng development

5、动态链接库(共享库):LOCAL_SHARED_LIBRARIES := cutils

6、模版文件:include $(BUILD_EXECUTABLE)




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值