【Linux】多文件编译makefile

目录

 一、为什么引入Make?

二、make的使用方面/编写makefile文件

1.基本概念

2.make命令的选项和参数

3.写法

4.命令使用


 一、为什么引入Make?

  • 示例:当运行如下代码时(main函数内包含add/max的函数):

         在终端输入命令编译main文件时,会报如下错误:

         而此时需要在main文件后面加上对add和max的编译,不然编译器在编译时找不到,必须加到命令后面,如下图所示解决了问题。

  •  然而,如果引用多个函数,每次都这样输入会很麻烦,因此引入make命令将编译过的保存起来,下次就可以直接用了。

二、make的使用方面/编写makefile文件

1.基本概念

make命令不仅用于编译程序,无论何时,当需要通过输入多个文件来输出文件时,都可以用它来完成任务。

makefile为make提供一个文件,告诉它应用程序如何构造。make命令会读取makefile文件的内容,它先确定目标文件或要创建的文件。make命令会根据makefile文件来确定目标文件的创建顺序以及正确规则调用顺序。

mekefile和其他源文件在同一目录下。

2.make命令的选项和参数

make有三个常用选项:

  • -k:发现错误时仍然执行。可以利用它在一次操作中发现所有未编译成功的源文件。
  • -n:输出要执行的操作步骤,而不是真正执行这些操作。
  • -f:告诉make将哪个文件作为makefile文件

        为了指示make命令创建一个特定的目标,可以把该目标的名字作为make的一个参数。如果不设置,系统会将makefile文件中列在第一个的作为目标。一般把第一个目标定义为all

3.写法

依赖关系:定义了最终应用程序每个文件与源文件之间的关系。

规则: makefile文件第二部分的内容。规则所在行必须是TAB开头,不能是空格

目标:依赖
tab键 规则命名

例:

  • 想一次创建多个文件,利用伪目标all
  • 最后两行的clean作用:在生成可执行文件过程中,删除产生不必要的文件(例如.o文件)。
    其中删除规则在命令的实现中有一个横线"-":代表删除出错时不报错。
  • #:makefile文件的注释以#开头,一直延续到这一行的结束。 

4.命令使用

        如图所示,先书写makefile文件,然后输入make命令显示出makefile文件的内容,最后可看出,不书写步骤一中的gcc -o main main.c add.c max.c的命令 仍可编译运行出main函数的结果。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值