英文原文: http://www.gnu.org/software/automake/manual/automake.html((version 1.11.1)

中文原文: http://www.linuxforum.net/books/automake.html#IDX79(version 1.3)

1 Introduction

Automake is a tool for automatically generating Makefile.ins from files called Makefile.am. Each Makefile.am is basically a series of make variable definitions1, with rules being thrown in occasionally. The generated Makefile.ins are compliant with the GNU Makefile standards.

The typical Automake input file is simply a series of variable definitions. Each such file is processed to create a Makefile.in. There should generally be one Makefile.am per directory of a project.

Automake does constrain a project in certain ways; for instance, it assumes that the project uses Autoconf (see Introduction), and enforces certain restrictions on the configure.ac contents2.继续阅读

Source EN: http://www.gnu.org/software/autoconf/manual/autoconf.html(version 2.68)

CN: http://www.linuxforum.net/books/autoconf.html(version 2.13)

Edition 2.13, for Autoconf version 2.13

  1. 介绍

A physicist, an engineer, and a computer scientist were discussing the 
nature of God. Surely a Physicist, said the physicist, because 
early in the Creation, God made Light; and you know, Maxwell's equations, 
the dual nature of electro-magnetic waves, the relativist consequences... 
An Engineer!, said the engineer, because before making Light,
 God split the Chaos into Land and Water; it takes a hell of 
an engineer to handle that bigamount of mud, and orderly 
separation of solids from liquids... The computer scientist 
shouted: And the Chaos, where do you think it was coming from, hmm?
                                                                          ---Anonymous继续阅读

GNU make v3.80完整版中文指南下载

Chapter 1

书写规则建议的方式是:单目标,多依赖。就是说尽量要做到一个规则中只存在一个目标文件,可有多个依赖文件。尽量避免多目标,单依赖的方式。这样后期维护也会非常方便,而且Makefile会更清晰、明了。

在实际应用时,我们会把这个规则写成如下稍微复杂一些的样子。以防止出现始料未及的情况。

.PHONY : clean

clean :

-rm edit $(objects)

这两个实现有两点不同: 1. 通过“.PHONY”特殊目标将“clean”目标声明为伪目标。防止当磁盘上存在一个名为“clean”文件时,“clean”所在规则的命令无法执行(参考3.6 Makefile伪目标一节)。2. 在命令行之前使用“-”,意思是忽略命令“rm”的执行错误(参考4.4 命令的错误一节)。继续阅读

什么是 UCS 和 ISO 10646?

国际标准 ISO 10646 定义了 通用字符集 (Universal Character Set, UCS). UCS 是所有其他字符集标准的一个超集. 它保证与其他字符集是双向兼容的. 就是说, 如果你将任何文本字符串翻译到 UCS格式, 然后再翻译回原编码, 你不会丢失任何信息.继续阅读