makefile

Posted Dirge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了makefile相关的知识,希望对你有一定的参考价值。

阮一峰的makefile教程对新人挺友好的。

==============================

target ... : prerequisites ...
command
...
...

 

target通常是一个目标文件,也可以是一个操作(伪目标)。
prerequisites就是,要生成那个target所需要的。
command也就是make需要执行的命令。(任意的Shell命令)
这是一个文件的依赖关系,即target这一个或多个的目标文件依赖于prerequisites中的文件,其生成规则定义在command中。

如果target不存在,或者prerequisites中如果有文件比target文件要新的话,command所定义的命令就会被执行。
而如果prerequisites中有文件不存在,则递归去执行生成该文件的命令。
这就是Makefile的规则。也就是Makefile中最核心的内容。

具体使用时,无参数的make会使用第一个目标指令;make xxxx会使用xxxx指令,如果目录中已经存在xxxx,则不执行。
如果target是一个操作(伪目标),而目录中有名为target的文件,按上述规则,则该target不会执行。
为了避免这种情况,可以用“.PHONY”明确声明为伪目标。

 

以上是关于makefile的主要内容,如果未能解决你的问题,请参考以下文章

MakefileMakefile 中 LINUXINCLUDE 的作用

MakefileMakefile 中 LINUXINCLUDE 的作用

MakefileMakefile 中 LINUXINCLUDE 的作用

Makefile基础

makefile

makefile