makefile学习笔记-makefile介绍(makefile的规则)

20180411 makefile学习笔记-makefile介绍(makefile的规则)



makefile的感性认识:
make命令执行时,需要一个makefile文件,以告诉make命令需要怎样的去编译和链接程序;
eg:工程中有8个C文件和3个头文件,我们要编写一个Makefile来告诉make命令如何编译和链接这几个文件,我们的规则是:
(1)若这个工程没有编译过,那么我们的所有C文件都要编译并被链接。
(2)若这个工程的某几个C文件被修改,那么我们只编译被修改的C文件,并链接目标程序。
(3)若这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的C文件,并链接目标程序。


只要我们的Makefile写的够好,所有的这一切,我们只用一个make命令就可以完成。


一、makefile的规则


下面是makefile的粗略规则:


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




target也就是目标文件,可以是Object File,也可以是执行文件还可以是一个标签(Label),对于标签这种特性,在后续的“伪代码”文章中会有叙述。


prerequisites就是,要生成的那个target所需要的文件或目标。


command也就是马克需要执行的命令(任意的Shell命令)。


这是一个文件的依赖关系,也就是说,target这一个或多个的目标文件依赖于prerequisites中的文件,其生产规则定义在command中,说白一点就是:prerequisites中若有一个以上的文件比target文件新的话,command所定义的命令就会被执行。这就是Makefile的规则。也是Makefile中最核心的内容。

































































































































































































































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值