GNU Make项目管理(第三版)
GNU Make项目管理(第三版)
Robert Mecklenburg
O'Reilly Taiwan公司 编译
出版时间:2006年06月
页数:288
make是Unix和其他操作系统上最持久的工具之一。自1970年问世以来,make至今仍旧是大多数程序开发项目的核心工具,它甚至被用来编译Linux内核。阅读本书,读者将可以了解,尽管出现了许多新兴的竞争者为何make仍旧是开发项目中编译软件的首选工具。
简单就是make欲达成的目标:在你变更源代码文件之后,想要重编译你的程序或其他输出文件之际,make会检查时间戳,找出被变更的文件并进行必要的重编译动作,因此不会浪费时间去重编译其他文件。为了达到这个目标,make提供了许多选项让你能够操作多个目录、为不同的平台编译不同版本的程序以及自定义编译方法。
本书第三版的重点是GNU make,这个版本的make已经成为行业标准。本书将会探索GNU make所提供的强大扩充功能。GNU make之所以广受欢迎是因为它是一个自由软件,并且几乎可以在包括微软Windows(作为Cygwin项目的一部分)的每个平台上使用。
Robert Mecklenburg是本书第三版的作者,他对多种平台和语言使用make已经有数十年的经验。在本书中,他会很热心地告诉你如何提升编译工作的效率、降低维护工作的困难度、避免错误以及让你彻底了解make在做什么。他还在论述C++和Java的章节中为采用这些语言的项目提供经过优化的makefile设定项目,他甚至还会讨论到用来制作本书的makefile。
  1. 前言
  2. 第一部分 基本概念
  3. 第一章 如何编写一个简单的makefile
  4. 工作目标与必要条件
  5. 检查依存关系
  6. 尽量减少重新编译的工作量
  7. 调用make
  8. Makefile的基本语法
  9. 第二章 规则
  10. 具体规则
  11. 变量
  12. 以VPATH和vpath来查找文件
  13. 模式规则
  14. 隐含规则
  15. 特殊工作目标
  16. 自动产生依存关系
  17. 管理程序库
  18. 第三章 变量与宏
  19. 变量的用途
  20. 变量的类型
  21. 何时扩展变量
  22. 工作目标与模式的专属变量
  23. 变量来自何处
  24. 条件指令与引入指令的处理
  25. 标准的make变量
  26. 第四章 函数
  27. 用户自定义函数
  28. 内置函数
  29. 高级的用户自定义函数
  30. 第五章 命令
  31. 解析命令
  32. 使用哪个shell
  33. 空命令
  34. 命令环境
  35. 对命令脚本求值
  36. 命令行的长度限制
  37. 第二部分 高级与特别的议题
  38. 第六章 大型项目的管理
  39. 递归式make
  40. 非递归式make
  41. 大型系统的组件
  42. 文件系统的布局
  43. 自动编译与测试
  44. 第七章 具可移植性的makefile
  45. 可移植性的若干内容
  46. Cygwin
  47. 管理程序和文件
  48. 使用不具可移植性的工具
  49. automake
  50. 第八章 C与C++
  51. 分开源文件与二进制文件
  52. 只读的源文件树
  53. 产生依存关系
  54. 支持多个二进制文件树
  55. 部分的源文件树
  56. 引用编译结果、程序库以及安装程序
  57. 第九章 Java
  58. make的替代方案
  59. 一个通用的Java makefile
  60. 编译Java
  61. 管理jar
  62. 引用树与来自第三方的jar文件
  63. Enterprise JavaBeans
  64. 第十章 改进make的效能
  65. 基准测试
  66. 找出瓶颈与处理瓶颈
  67. 并行式make
  68. 分布式make
  69. 第十一章 makefile实例
  70. 本书的makefile
  71. Linux内核的makefile
  72. 第十二章 makefile的调试
  73. make的调试功能
  74. 编写用于调试的代码
  75. 常见的错误信息
  76. 第三部分 附录
  77. 附录一 运行make
  78. 附录二 越过make的极限
  79. 索引
书名:GNU Make项目管理(第三版)
作者:Robert Mecklenburg
译者:O'Reilly Taiwan公司 编译
国内出版社:东南大学出版社
出版时间:2006年06月
页数:288
书号:7-5641-0352-3
原版书出版商:O'Reilly Media
Robert Mecklenburg
 
Robert Mecklenburg在1977年还是学生的时候就开始使用Unix了,他是一位有23年经验的专业程序设计师。他的项目经验始于1982年在NASA使用Unix Version 7作为开发环境。1991年,Robert于犹他州州立大学取得计算机科学博士学位。之后,他在许多领域工作过,范围从机械计算机辅助设计到生物信息学,这让他能够将C++、Java和Lisp的广泛经验应用在make项目管理的许多问题上。
Robert Mecklenburg began using Unix as a student in 1977 and has been program-ming professionally for 23 years.His make experience started in 1982 at NASA with Unix Version 7. Robert received his PhD in computer science from the University of Utah in 1991.Since then,he has worked in many fields ranging from mechanical CAD to bioinformatics,and brings his extensive experience in C++, Java, and Lisp to bear on the problems of project management with make.
 
 
本书的封面动物是一只树熊猴(potto),属于懒猴(loris)家族的一员,是西非热带雨林中原生的一种小型灵长类动物。树熊猴有17英寸长,拥有密集的、毛茸茸的、呈红棕色的皮毛。它可反折的拇指拥有绝佳的抓取能力,让它能在茂密的树林中生活得更惬意。树熊猴白天都在树的裂缝或洞穴中睡大觉,到了晚上才出来猎取食物(昆虫、蛇以及蝙蝠)。跟其他灵长类动物不同的是,树熊猴一般都是过着独行侠式的生活。