什么是makefile

今天看linux目录结构的时候,提到了makefile;在课上老师有讲过makefile的原理,但一时有点不理解。那么 什么是Makefiel呢?
讲makefie之前,先将将什么是make;make是一个命令工具,是一个解释makefile中指令的命令工具。它可以简化编译过程里面所下达的指令,当执行 make 时,make 会在当前的目录下搜寻 Makefile (or makefile) 这个文本文件,执行对应的操作。make 会自动的判别原始码是否经过变动了,而自动更新执行档。

1.为什么要使用make

假设,现在一个项目里面包含了1000个程序文件,如果要对这个项目进行编译,那么光是编译指令就有1000条。如果要重新进行编译,那么就又得像之前一样重新来一遍。这样重复且繁琐的工作实在是让我们很方便,很多重复性工作。所以,用make来进行操作,间接调用gcc岂不是很方便?如果我们更动过某些原始码档案,则 make 也可以主动的判断哪一个原始码与相关的目标文件档案有更新过, 并仅更新该档案。这样可以减少重新编译所需要的时间,也会更加方便。

2.makefile又是干什么的

makefile其实就是一个文档,里面定义了一系列的规则指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,它记录了原始码如何编译的详细信息! makefile一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。
先看一下makefile的规则:

目标(target):目标文件1 目标文件2

<Tab>gcc -o 欲建立的执行文件 目标文件1 目标文件2

目标(target)就是我们想要建立的信息,而目标文件就是具有相关性的 object files ,建立执行文件的语法就是以 按键开头的那一行!特别留意,『 命令行必须要以 tab 按键作为开 头』才行!它的规则基本上是这样的:
  •在 makefile 当中的 # 代表批注;
  • 需要在命令行 (例如 gcc 这个编译程序指令) 的第一个字符;
  •标的 (target) 与相依档案(就是目标文件)之间需以『 :』隔开。
例子:
在这里插入图片描述创建一个makefile文件,然后进行规则编写
在这里插入图片描述
现在就可以使用make命令编译文件了:
在这里插入图片描述

  • 11
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值