关于本书
本文瑾献给所有热爱Linux的程序员!本文档版权所有,禁止用于任何商业行为。
本文比较完整的讲述GNU make工具,涵盖GNU make的用法、语法。同时重点讨论如何为一个工程编写Makefile。作为一个Linux程序员,make工具的使用以及编写Makefile是必需的。系统、详细讲述make的中文资料比较少,出于对广大中文Linuxer的支持,本人在工作之余,花了18个多月时间完成对“info make”的翻译整理,完成这个中文版的书册。本书并不是一个语言的翻译版本,其中对GNU make的一些语法和用法根据我个人的工作经验进行了一些详细分析和说明,也加入了一些个人的观点和实践总结。本书的所有的例子都可以在支持V3.8版本的GNU make的系统中正确执行。
由于个人水平限制,本文在一些地方存在描述不准确之处。恳请大家在阅读过程中,提出您宝贵的意见,也是对我个人的帮助。我的个人电子邮箱地址:xhbdahai@126.com。非常愿意和大家交流!共同学习。
阅读本书之前,应该对GNU的工具链和Linux的常用工具有一定了解。诸如:gcc、as、ar、ld、yacc等。在书写Makefile时,需要能够理解一些shell脚本程序。这些工具是维护一个工程的基础工具。如果对这些工具的使用不是很熟悉,可参考相关资料。
阅读本文的几点建议:
1. 如果之前你对GNU make没有了解、而当前也不想深入的学习GNU make的读者。你只需要阅读本文各章前半部分的基础知识。
2. 如果你已经对GNU make比较熟悉,可能你更需要关心此版本的一些特点、新增的功能和存在的不兼容。
3. 之前你对GNU make没有多少概念、或者刚开始接触,本身又想成为一个Linux下的专业程序员,那么建议:完整学习本文的各个章节,包括了基础知识和高级用法、技巧。它会为你以后在Linux下的工程开发、工程管理提供非常有用的帮助。
4. 此中文文档当前版本v1.3,本文的所有勘误和最新版本可在主页 http://xhbdahai.cublog.cn 上获取!!
谢谢!
徐海兵 2005-12-31
8.2.2 $(patsubst PATTERN,REPLACEMENT,TEXT)
8.2.6 $(filter-out PATTERN...,TEXT)
8.3.5 $(addsuffix SUFFIX,NAMES…)
8.3.6 $(addprefix PREFIX,NAMES…)