返回介绍

用 make 工具自动化构建

发布于 2024-10-10 23:21:27 字数 912 浏览 0 评论 0 收藏 0

只要记下修改过哪些文件,就可以很快地用

gcc 编译程序。这是一件很麻烦的事,但很容易自动化。想象有一个文件,这个文件是由另一个文件生成的,比如从源文件编译过来的目标文件:

你怎么知道 thruster.o 文件是否需要重新编译呢?只要看一下这两个文件的时间戳就行了,如果 thruster.o 文件比 thruster.c 文件旧,就需要重新创建 thruster.o;否则就说明 thruster.o 已经是最新的了。

非常简单的规则。如果你掌握了某样东西的简单规则,别多想,自动化它……

make 是一个可以替你运行编译命令的工具。make 会检查源文件和目标文件的时间戳,如果目标文件过期,make 就会重新编译它。

但是做到所有这些事情前,需要告诉 make 源代码的一些情况。make 需要知道文件之间的依赖关系,同时还需要告诉它你具体想如何构建代码。

make 需要知道什么?

make 编译的文件叫目标(target)。严格意义上讲,make 不仅仅可以用来编译文件。目标可以是任何用其他文件生成的文件,也就是说目标可以是一批文件压缩而成的压缩文档。

对每个目标,make 需要知道两件事:

  • 依赖项。

生成目标需要用哪些文件。

  • 生成方法。

生成该文件时要用哪些指令。

依赖项和生成方法合在一起构成了一条规则。有了规则,

make 就知道如何生成目标。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文