如何编写一个makefile

一个工程中的源文件不计其数,按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为马克覅了就像一个Shell脚本一样其中也可以执行操作系统的的命令。makefile带来的好处就是:“自动化编译”。一旦写好,只需要一个make命令,就可以使整个工程自动编译,极大提高了软件开发的效率。makefile是一个文件,make是一个工具,用来解释makefile中的指令。


编写一个makefile的中心思想就是要抓住“依赖关系”和“依赖方法”这两点。

比如编译一个test.c文件到可执行程序test需要经过预处理、编译、汇编、文本链接四个步骤,每次得到的文件是:test.i,test.s,test.o,test。理解依赖关系我们可以反着来看程序的编译过程,也就是说,要得到test文件要依赖于test.o文件,而得到test.o依赖于test.s,得到test.s要依赖于test.i,同样要得到test.i要依赖于test.c文件,如此一来,这样的关系就是一种依赖关系。从一个文件到一个目标文件所要做的处理就是一种依赖方法。



Makefile的编写规则:

目标文件:执行文件

命令(注意:命令前必须以tab键开头)


我们以test.c程序的编译链接过程来举例写一个makefile。

首先,需要在当前目录下touch一个Makefile(注意:makefile或者Makefile,只能是M字母可大写可小写),然后vim进入Makefile文件进行编辑


当工程比较大的时候,这样编写会很麻烦,我们可以只执行一步:




这样,我们的Makefile就编写好了。下面这幅图就是使用make工具的所有步骤:



附上一篇文章:http://blog.csdn.net/ruglcc/article/details/7814546/

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值