GNU Make项目管理(第三版,影印版)
GNU Make项目管理(第三版,影印版)
Robert Mecklenburg
本书第三版主要讨论了GNU版的make,它目前已经成为工业标准。书中仔细探讨了GNU make的各种扩展。GNU make非常流行,因为它是自由软件,为几乎每个平台包括Microsoft Windows(作为自由项目Cygwin的一部分)都提供了不同的版本。
Robert Mecklenburg——本书第三版的作者,在不同的平台和语言下使用make已经有数十年了。在本书中,他热心地列出了怎样让你的构建尽可能地有效,怎样减少维护、避免错误,并且让你彻底理解make在干什么。关于C++和Java的章节为使用这些语言的项目提供了优化的makefile条目。作者甚至提供了一个关于构建这本书的makefile的讨论。
  1. Foreword
  2. Preface
  3. Part I. Basic Concepts
  4. 1. How to Write a Simple Makefile
  5. Targets and Prerequisites
  6. Dependency Checking
  7. Minimizing Rebuilds
  8. Invoking make
  9. Basic Makefile Syntax
  10. 2. Rules
  11. Explicit Rules
  12. Variables
  13. Finding Files with VPATH and vpath
  14. Pattern Rules
  15. The Implicit Rules Database
  16. Special Targets
  17. Automatic Dependency Generation
  18. Managing Libraries
  19. 3. Variables and Macros
  20. What Variables Are Used For
  21. Variable Types
  22. Macros
  23. When Variables Are Expanded
  24. Target-and Pattern-Specific Variables
  25. Where Variables Come From
  26. Conditional and include Processing
  27. Standard make Variables
  28. 4. Functions
  29. User-Defined Functions
  30. Built-in Functions
  31. Advanced User-Defined Functions
  32. 5. Commands
  33. Parsing Commands
  34. Which Shell to Use
  35. Empty Commands
  36. Command Environment
  37. Evaluating Commands
  38. Command-Line Limits
  39. Part II. Advanced and Specialized Topics
  40. 6. Managing Large Projects
  41. Recursive make
  42. Nonrecursive make
  43. Components of Large Systems
  44. Filesystem Layout
  45. Automating Builds and Testing
  46. 7. Portable Makefiles
  47. Portability Issues
  48. Cygwin
  49. Managing Programs and Files
  50. Working with Nonportable Tools
  51. Automake
  52. 8. C and C++
  53. Separating Source and Binary
  54. Read-Only Source
  55. Dependency Generation
  56. Supporting Multiple Binary Trees
  57. Partial Source Trees
  58. Reference Builds,Libraries,and Installers
  59. 9. Java
  60. Alternatives to make
  61. A Generic Java Makefile
  62. Compiling Java
  63. Managing Jars
  64. Reference Trees and Third-Party Jars
  65. Enterprise JavaBeans
  66. 10. Improving the Performance of make
  67. Benchmarking
  68. Identifying and Handling Bottlenecks
  69. Parallel make
  70. Distributed make
  71. 11. Example Makefiles
  72. The Book Makefile
  73. The Linux Kernel Makefile
  74. 12. Debugging Makefiles
  75. Debugging Features of make
  76. Writing Code for Debugging
  77. Common Error Messages
  78. Part III. Appendixes
  79. A. Running make
  80. B. The Outer Limits
  81. C. GNU Free Documentation License—GNU Project—Free Software
  82. Foundation (FSF)
  83. Index
书名:GNU Make项目管理(第三版,影印版)
作者:Robert Mecklenburg
原版书出版商: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.
The animal on the cover of Managing Projects with GNU Make, Third Edition is a potto, a member of the loris family. A small primate native to the tropical forests of West Africa, the potto is 17 inches long and covered with dense, wooly, reddish-brown fur. Its opposable thumbs give it an excellent grasp, leaving it well adapted to its life in the trees. The potto spends its days sleeping in crevices or holes in trees, emerging at night to hunt for food (insects, snails, and bats). Unlike many primates, the potto generally lives alone.