make(二)makefile介绍

一makefile文件的内容:

*Makefile 里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。 
 
1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由 Makefile 的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。 
 
2、隐晦规则。由于我们的 make 有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书写 Makefile,这是由 make 所支持的。 
 
3、变量的定义。在 Makefile 中我们要定义一系列的变量,变量一般都是字符串,这个有点你 C 语言中的宏,当 Makefile 被执行时,其中的变量都会被扩展到相应的引用位置上。 
 
4、文件指示。其包括了三个部分,一个是在一个 Makefile 中引用另一个 Makefile,就像 C语言中的 include 一样;另一个是指根据某些情况指定 Makefile 中的有效部分,就像 C 语言中的预编译#if 一样;还有就是定义一个多行的命令。 
 
5、注释。Makefile 中只有行注释,和 UNIX 的 Shell 脚本一样,其注释是用“#”字符,这个就像 C/C++中的“//”一样。如果你要在你的 Makefile 中使用“#”字符,可以用反斜框进行转义,如:“\#”。 
 
*最后,注意,在 Makefile 中的命令,必须要以[Tab]键开始。 


 

二 makefile的规则:

(1)makefile规则形式:

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

*target:可以是目标文件(object file)、可执行文件、或者一个action名字(比如:clean)。

*prerequisites:用来生成target的输入(所需文件或是目标),target依赖的文件。

*command:是make要执行的命令,一定要以tab开头。

*target 依赖于 prerequisites中的文件,其生成规则定义在 command 中。

* make会比较targets文件和prerequisites文件的修改日期,如果prerequisites文件的日期要比targets文件的日期要新,或者 target 不存在的话,那么,make 就会执行后续定义的命令。


(2)makefile名字:

*默认情况下,make命令会在当前目录下按照顺序寻找文件名为"GNUmakefile"、"makefile"、"Makefile"的文件。大多数make都支持makefile和Makefile,最好使用“Makefile”。


(3)应用其它Makefile:

*在Makefile中使用include关键字把别的Makefile包含进来:include filename。

*make执行时,有"-I"或"--include-dir"参数,那么make就会在这个参数指定的目录下寻找makfile。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值