我正在尝试学习GNUMake,为我正在进行的一个小项目做准备。目前为止,即使是“基础”教程也显得相当困难,我还没有理解makefile语法。
有没有什么好的资源可以帮助绝对初学者熟悉GNUMake呢?
Translated text:我正在尝试学习 GNUMake,以便为我正在进行的小型项目做准备。到目前为止,即使是“基础”的教程也似乎非常复杂,我还无法理解 makefile 语法。
是否有一些适合绝对初学者的良好资源,可以帮助他们熟悉 GNUMake 呢?
《GNU Make手册》是权威指南,网址为http://www.gnu.org/software/make/manual/make.html
此外还有一本 O'Reilly 出版的书《使用GNU Make管理项目》,内容更详细。
早期版本也可以使用,虽然没有特别针对 GNU Make,但内容较为精简。
Make 是开发者们的秘密武器——我们都不太理解它,只会从别人那里借用一个 make 脚本并进行修改。我想只有少数人写过完全原创的脚本(可能是该工具的创建者)。
当需要完成比简单例子更多的任务时,大部分人要么转向更现代化的构建系统如 Ant,要么自己使用 Perl/Python 等语言编写构建系统。
mgb: 更糟糕的是,我曾经从零开始编写过一个复杂的make系统(几千个文件,五十到一百个目录,四到五个编译器和交叉编译目标,两个操作系统等)。我坐下来先彻底学习了gnu make,设计了系统,并先尝试了原型。我们都对结果非常满意。
但那是多年前的事了。你知道我今天如何编写它们吗?就像你描述的那样。它只是足够琐碎,语法细节足够模糊,除非你经常这样做,否则你无法记住细节。我想这就像任何其他具有非直观语法和一些古怪规则的语言一样吧。
我不是 GNU 信息系统的忠实拥护者,但我发现 GNU make 信息页面非常有用。一旦您了解了基本概念和可用的大致内容,我发现 info 页面是查找预构建函数等信息最快捷的方式。
(忘记 GNU info
程序,改用 pinfo
等其他选项。)