O'Reilly 出的那本《Managing Projects with GNU Make》是个不错的起点。搞懂了 Make 的各种怪癖之后,它其实就没那么玄乎了。Make 在很多方面确实不咋样(比如对 Tab 缩进强制敏感就很烦人),但至少比 SBT 好使多了。
Managing Projects with GNU Make by O'Reilly is a good start. Make is much less mystifying if you get through all of its quirks. Make is not great in many ways (significant tabs are annoying, for example), but it's no SBT.
《Managing Projects with GNU Make》第三版 https://www.oreilly.com/library/view/managing-projects-with/... O'Reilly 的书我们公共图书馆里可以免费看,你们那边的图书馆可能也有。
Managing Projects with GNU Make, 3rd Edition https://www.oreilly.com/library/view/managing-projects-with/... O'Reilly is free via my public library. Yours might have the same
……根本没法读,而且绝大部分连文档都没有。正因为 Make 从 70 年代就有了,博客和论坛里沉淀了大量几十年来积攒下来的宝贵经验,随手就能查到。O'Reilly 出的《Managing Projects with GNU Make》(第 3 版)在带人快速上手 Make 方面写得特别棒。而且官方在线文档 [1] 也相当不错。但最关键的是,换用 Make 之后我的效率高多了……
…unreadable and are mostly undocumented. And because Make has been around since the '70s, there's lots of hard-earned wisdom in blog posts and forums readily available going back decades. O’Reilly's book "Managing Projects with GNU Make" (3rd edition) does a great job at getting someone up and running with Make. And the online documentation [1] is also quite good. But the most important thing is I'm much more productive using Make instead…
……关于这个主题的参考书。* Clovis L. Tondo, Andrew Nathanson, and Eden Yount (1994). 《Mastering MAKE: a guide to building programs on DOS, OS/2, and UNIX systems》. Prentice Hall. * Robert Mecklenburg (2004). 《Managing Projects with GNU Make》. 动物书系列. O'Reilly Media. ISBN 9780596552541. * John Graham-Cumming (2015). 《The GNU Make Book》. No Starch Press. ISBN 9781593276492.
…on this subject. * Clovis L. Tondo, Andrew Nathanson, and Eden Yount (1994). Mastering MAKE: a guide to building programs on DOS, OS/2, and UNIX systems. Prentice Hall. * Robert Mecklenburg (2004). Managing Projects with GNU Make. Nutshell Handbooks. O'Reilly Media. ISBN 9780596552541. * John Graham-Cumming (2015). The GNU Make Book. No Starch Press. ISBN 9781593276492.
……从 v0.7 开始 [2]。但哪怕花上一整周工作时间,也完全不够去做这种冥想式的深研。对比一下用 make 构建 Java:https://www.oreilly.com/openbook/make3/book/ch09.pdf [PDF] 出自 Robert Mecklenburg 写的《Managing Projects with GNU Make 3e》(2004)[1] https://gradle.org/releases [2] https://docs.gradle.org/0.7/userguide/userguide.html
…from v0.7 [2]. But not even an entire workweek is enough for that kind of meditative study. As a comparison, building Java with make: https://www.oreilly.com/openbook/make3/book/ch09.pdf [PDF] From Managing Projects with GNU Make 3e (2004) by Robert Mecklenburg [1] https://gradle.org/releases [2] https://docs.gradle.org/0.7/userguide/userguide.html
……shell 并不够用;不同操作系统和发行版之间的路径依然不兼容。你依然得随身带着你的工具链,这跟前面提到的完全是自相矛盾的。事实上,我刚搜了一下,《Managing Projects with GNU Make》里这一章就专门讲了如何让 Make(是 GNU Make,而不是 BSD Make,这两者差异大到曾经把我的项目搞崩过!)具备可移植性:https://www.oreilly.com/library/view/managing-projects-with/...
…enough shell; Paths are still incompatible between OS's and distros. You still must ship your tools, which is a direct contradition of what is mentioned. In fact; I just googled it and this chapter from Managing Projects with GNU Make; talks about the issues in making Make (GNU Make, as opposed to BSD Make, which is different enough to have broken my things!): portable https://www.oreilly.com/library/view/managing-projects-with/...
O'Reilly 出的那本《Managing Projects with GNU Make》是个不错的起点。搞懂了 Make 的各种怪癖之后,它其实就没那么玄乎了。Make 在很多方面确实不咋样(比如对 Tab 缩进强制敏感就很烦人),但至少比 SBT 好使多了。
Managing Projects with GNU Make by O'Reilly is a good start. Make is much less mystifying if you get through all of its quirks. Make is not great in many ways (significant tabs are annoying, for example), but it's no SBT.
《Managing Projects with GNU Make》第三版 https://www.oreilly.com/library/view/managing-projects-with/... O'Reilly 的书我们公共图书馆里可以免费看,你们那边的图书馆可能也有。
Managing Projects with GNU Make, 3rd Edition https://www.oreilly.com/library/view/managing-projects-with/... O'Reilly is free via my public library. Yours might have the same
……根本没法读,而且绝大部分连文档都没有。正因为 Make 从 70 年代就有了,博客和论坛里沉淀了大量几十年来积攒下来的宝贵经验,随手就能查到。O'Reilly 出的《Managing Projects with GNU Make》(第 3 版)在带人快速上手 Make 方面写得特别棒。而且官方在线文档 [1] 也相当不错。但最关键的是,换用 Make 之后我的效率高多了……
…unreadable and are mostly undocumented. And because Make has been around since the '70s, there's lots of hard-earned wisdom in blog posts and forums readily available going back decades. O’Reilly's book "Managing Projects with GNU Make" (3rd edition) does a great job at getting someone up and running with Make. And the online documentation [1] is also quite good. But the most important thing is I'm much more productive using Make instead…
……关于这个主题的参考书。* Clovis L. Tondo, Andrew Nathanson, and Eden Yount (1994). 《Mastering MAKE: a guide to building programs on DOS, OS/2, and UNIX systems》. Prentice Hall. * Robert Mecklenburg (2004). 《Managing Projects with GNU Make》. 动物书系列. O'Reilly Media. ISBN 9780596552541. * John Graham-Cumming (2015). 《The GNU Make Book》. No Starch Press. ISBN 9781593276492.
…on this subject. * Clovis L. Tondo, Andrew Nathanson, and Eden Yount (1994). Mastering MAKE: a guide to building programs on DOS, OS/2, and UNIX systems. Prentice Hall. * Robert Mecklenburg (2004). Managing Projects with GNU Make. Nutshell Handbooks. O'Reilly Media. ISBN 9780596552541. * John Graham-Cumming (2015). The GNU Make Book. No Starch Press. ISBN 9781593276492.
……从 v0.7 开始 [2]。但哪怕花上一整周工作时间,也完全不够去做这种冥想式的深研。对比一下用 make 构建 Java:https://www.oreilly.com/openbook/make3/book/ch09.pdf [PDF] 出自 Robert Mecklenburg 写的《Managing Projects with GNU Make 3e》(2004)[1] https://gradle.org/releases [2] https://docs.gradle.org/0.7/userguide/userguide.html
…from v0.7 [2]. But not even an entire workweek is enough for that kind of meditative study. As a comparison, building Java with make: https://www.oreilly.com/openbook/make3/book/ch09.pdf [PDF] From Managing Projects with GNU Make 3e (2004) by Robert Mecklenburg [1] https://gradle.org/releases [2] https://docs.gradle.org/0.7/userguide/userguide.html
……shell 并不够用;不同操作系统和发行版之间的路径依然不兼容。你依然得随身带着你的工具链,这跟前面提到的完全是自相矛盾的。事实上,我刚搜了一下,《Managing Projects with GNU Make》里这一章就专门讲了如何让 Make(是 GNU Make,而不是 BSD Make,这两者差异大到曾经把我的项目搞崩过!)具备可移植性:https://www.oreilly.com/library/view/managing-projects-with/...
…enough shell; Paths are still incompatible between OS's and distros. You still must ship your tools, which is a direct contradition of what is mentioned. In fact; I just googled it and this chapter from Managing Projects with GNU Make; talks about the issues in making Make (GNU Make, as opposed to BSD Make, which is different enough to have broken my things!): portable https://www.oreilly.com/library/view/managing-projects-with/...