Makefile

简介

  • make:利用 make 工具可以自动完成编译工作。

这些工作包括:

  1. 如果仅修改了某几个源文件,则只重新编译这几个源文件 -- make通过比对相应的.c文件与.o文件的时间;
  2. 如果某个头文件被修改了,则重新编译所有包含该头文件的源文件。

利用这种自动编译可大大简化开发工作,避免不必要的重新编译。

  • Mackfilemake工具通过一个称为 Mackfile 的文件来完成并自动维护编译工作。

Mackfile文件描述了整个工程的编译、连接等规则。

Mackfile基本规则

Target ...: Dependencies ...

Command ...

说明:

  1. 目标(TARGET):即最终想要产生的文件,如:可执行文件,目标文件或中间文件等; 目标也可以是要执行的动作,如clean,也称为伪目标。

  2. 依赖(DEPENDENCIES):为了产生目标文件而依赖的文件列表,一个目标通常依赖于多个文件。

  3. 命令(COMMAND):是make执行的动作(shell命令或是可在shell下执行的程序,如echo

    注意:每个命令行的起始字符必须为TAB字符!

如果DEPENDENCIES中有一个或多个文件更新的话,COMMAND就要执行,这就是Makefile最核心的内容.