GNU Make项目管理(第三版)

(美)Robert Mecklenburg

出版时间

2006-07-01

ISBN

9787564103521

评分

★★★★★
书籍介绍
make是unix和其他操作系统上最持久的工具之一。自1970年问世以来,make至今仍旧是大多数程序开发项目的核心工具,它甚至被用来编译Linux构成。阅读本书,读者将可以了解,尽管出现了许多新兴的竞争者为何make仍旧是开发项目中编译软件的道选工具。 简介就是make欲成达目标:你变更源代码文件之后,想要重编译你的程序或其他输出文件之际,make会检查时间戳,找出被变更的文件行必要的重编译动作,因此不会浪费时间去重编译其他文件。为了达到这个目标,make提供了许多选项让你能够操作多个目录、为不同的平台编译不同版本的程序以及自定义编译方法。 本书第三版的重点介绍的是GNU make,主要探索GNu make所提供的强大扩充功能。GNu make之所以广受欢迎是因为它是一个自由软件,并且几乎可以在包括微软Windows(作为Cygwin)的每个平台上使用。
AI导读
核心看点
  • 深入解析GNU Make强大功能
  • 掌握多目录与跨平台编译技巧
  • 系统梳理Makefile编写规范
适合谁读
  • 具备一定Makefile经验者
  • Linux及Unix系统开发者
  • 需处理复杂构建工程人员
读前提醒
  • 非新手入门书,需有经验
  • 建议配合官方文档对照读
  • 重点研读自动依赖推导
读者共识
  • 内容全面但晦涩难懂
  • 适合作为工具书查阅
  • 中译本质量评价一般

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "The first rule seen by make is used as default rule. A rule consists of three parts: the target, the prerequisites, and the commands to perform. The target is the file or thing that must be made. The prerequisites or dependents are those files that must exist before the target can be successfully cr"
  • "... the order in which commands are executed by make are nearly the opposite to the order they occur in the makefile. This top-down style is common in makefiles. Usually the most general form of target is specified first in the makefile and the details are left for later."
  • "... a standard first target in many makefiles is called all. Targets that do not represent files are known as phony targets. Another standard phony target is clean. clean: rm -f *.o lexer.c make cannot distinguish between a file target and phony target."
  • "$@ The filename representing the target. $% The filename element of an archive member specification. $< The filename of the first prerequisite. $? The names of all prerequisites that are newer than the target, separated by spaces. $^ The filenames of all the prerequisites, separated by spaces. This "
  • "gui.o: CPPFLAGS += -DUSE_NEW_MALLOC=1"
  • "# COMSPEC is defined only on Windows. ifdef COMSPEC PATH_SEP := ; EXE_EXT := .exe else PATH_SEP := : EXE_EXT := endif"
  • "dir Function returns the directory portion of each word in list. source-dir:= $(sort \ $(dir \ $(shell find. -name '*.c')))"
  • "$(player) $(libraries) : $(MAKE) --directory=$@"
作者简介
Robert Mecklenburg 在1977年还是学生的时候就开始使用Unix了,他是一位有23年经验的专业程序设计师。他的项目经验始于1982年在NASA使用Unix Version 7作为开发环境。1991年,Robert于犹他州州立大学取得计算机科学博士学位。之后,他在许多领域工作过,范围从机械计算机辅助设计到生物信息学,这让他能够将C++、Java和Lisp的广泛经验应用在。make项目管理的许多问题上。
用户评论
写得不错,要是英文更好!
用的时候当手册查就可以了.
虽然记住的很少,但是至少明白了,如果你愿意,可以拿make script当编程语言来用
一本让我了解了make的书,一本让我对make产生了深深厌恶的书。
工具书,大致翻了翻
不知所云
涵盖了基本语法、各种规则和机制、调试、性能提高、工程实践等方面内容,很全面了,不错的书
如何dushu
真的不适合新手入门,另外中译本翻译水平也确实有问题。建议想尽快上手的去阅读陈皓写的《跟我一起写Makefile》。
下载
收藏