Android 编译系统

1,Makefile编译方式

  TARGET: PREREQUISITES

    COMMANDS

  1,TARGET是需要生成的目标文件,PREREQUISTIES代表了目标所依赖的所有文件。

2,简单的Makefile样例:

  SimpleMakefile: main.o utility.o

    gcc -o main.o utility.o

  main.o:main.c

    gcc -c main.c

  utility.o:utility.c

    gcc -c utility.c

简写:

  OBJECT = main.o utility.o

  SimpleMakefile:$(OBJECT)

    gcc -o SimpleMakefile $(OBJECT)

3,android的Makefile依赖树:

  终极MakeFile文档的一行:

    include build/core/main.mk

  make指令应该就是调用的这个mk文件,在没有显式指定编译目标的情况下,第一个符合要求的目标会被Make作为默认的依赖树节点。

4,伪目标:编译系统的“”终极目标意愿“”,但不是具体的TARGET

5,Make程序对makefile的内容逐条解析:

  变量赋值,环境检测等初始化操作

  按照规则生成所有依赖树

  根据用户选择的依赖树,从叶到根逐步生成目标文件

6,main.mk解析

  对编译环境的检查:比如java版本

  必要的前期处理

  引用其他Makefile文件

  设置全局变量

  各种函数的实现

  

  

原文地址:https://www.cnblogs.com/lixiangfu/p/11283642.html