文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
用 make 工具自动化构建
只要记下修改过哪些文件,就可以很快地用
gcc 编译程序。这是一件很麻烦的事,但很容易自动化。想象有一个文件,这个文件是由另一个文件生成的,比如从源文件编译过来的目标文件:
你怎么知道 thruster.o 文件是否需要重新编译呢?只要看一下这两个文件的时间戳就行了,如果 thruster.o 文件比 thruster.c 文件旧,就需要重新创建 thruster.o;否则就说明 thruster.o 已经是最新的了。
非常简单的规则。如果你掌握了某样东西的简单规则,别多想,自动化它……
make 是一个可以替你运行编译命令的工具。make 会检查源文件和目标文件的时间戳,如果目标文件过期,make 就会重新编译它。
但是做到所有这些事情前,需要告诉 make 源代码的一些情况。make 需要知道文件之间的依赖关系,同时还需要告诉它你具体想如何构建代码。
make 需要知道什么?
make 编译的文件叫目标(target)。严格意义上讲,make 不仅仅可以用来编译文件。目标可以是任何用其他文件生成的文件,也就是说目标可以是一批文件压缩而成的压缩文档。
对每个目标,make 需要知道两件事:
- 依赖项。
生成目标需要用哪些文件。
- 生成方法。
生成该文件时要用哪些指令。
依赖项和生成方法合在一起构成了一条规则。有了规则,
make 就知道如何生成目标。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论