对于简单的项目,makefile提供什么比“普通”bash脚本?

Modified on: Thu, 13 Sep 2018 02:00:03 +0800

例如,如果我正在开发一个仅限前端的网站,我可能会有几个CoffeeScript文件,几个Sass文件,几个HTML文件和一些图像。< / p>

需要将CoffeeScript文件编译为JavaScript,需要将Sass文件编译为CSS,并且需要缩小这些新文件。图像需要删除其元数据。需要将所有生成的文件移动到具有自己结构的新目录。

这一切似乎都不是特别复杂,但我看到有几个人使用makefiles为此。

我是否太不愿意学习如何使用makefile?与简单的bash脚本相比,它们有什么优势?

最佳答案

所以,你是对的,这不是一个巨大的任务,make 现在提供的优势

  • as Ignacio说 make是并行建筑意识。使用-j标志。

  • 如果您已正确表达了依赖关系,那么永远不要重建那些不需要它的东西。当然,你可以在一个bash脚本中获得它,但这意味着增加了脚本的复杂性(我必须阅读手册页以记住它),这已经让人知道了。

  • 您可以定义泛型规则(后缀规则(旧样式)或模式规则(在GNU make中首选)),它们适用于所有类型为Bar的文件,需要从Foo类型构建。同样,循环将在bash中处理,但make已经知道如何做到这一点。

优势是:如果任务变得更复杂,那么makefile会缓慢而简单地增长,而您的脚本可能会出乎意料地膨胀。

如果你可以编程(或多或少)你可以管理制作(一开始认为语言可能有点奇怪)。

作者:Community,dmckee

相关问答

添加新评论