良许Linux教程网 干货合集 Linux中的Makefile详解

Linux中的Makefile详解

简而言之makefile的作用就是“自动编译”,当我们将整个项目的Makefile都写完之后,只需要一个简单的make命令,就可以实现自动编译了。

Linux中的Makefile详解

1.makefile的命名(两种)

  1. makefile
  2. Makefile

2. makefile的规则

规则的三个要素:目标、依赖、命令

3. 多文件的makefile的编写(一个源文件只重新编译改变的文件)

  1. makefile可以有多个规则,当第一个规则的的命令在执行的时候发现没有相应的依赖,就在下面的规则中找。最上面的规则的目标是终极目标一定写在最上面,也就是最后要生成的文件。
  2. 多文件Makefile的更新原理(基于时间)

4. makefile中的变量

  1. 自定义变量
    obj=main.o add.o sub.o
    引用的时候直接使用 $(obj)
  2. 自动变量()
    $ $@:规则中的目标
    $^: 规则中所有的依赖
  3. 模式自动匹配 %
    子规则中::
  4. makefile维护的变量(通常大写,自己可以修改)
    CC:cc(即gcc)
    APPFLAGS:预处理使用的选项
    CFLAGS:编译的时候使用的选项
    LDFLAGS:链接库使用的选项

5. makefile中的函数(都是有返回值)

  1. wildcard 查找当前目录下所有.c文件,返回值给src
    src=$(wildcard ./*.c)
  2. patsubst 替换所有.c文件为.o文件
    obj=$(patsubst ./%.c, ./%.o, $(src))

6. make clean

在makefile最后加入clean的目标,为了重新编译所有文件得删除原来生成的文件

7. 最终的简单的makefile

关于Makefile详解的讲解到此结束,大家有什么需要补充的可以在评论区留言啊。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

良许微信公众号

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部