"GNU Automake官方文档,版本1.15,发布于2014年12月31日,是由David MacKenzie、Tom Tromey、Alexandre Duret-Lutz、Ralf Wildenhues和Stefano Lattarini等人编写的。这个文档详细介绍了如何使用Automake从模板文件创建符合GNU标准的Makefile文件。"
Automake是一个自动化工具,用于根据名为Makefile.am的文件生成Makefile.ins。Makefile.am基本上是一系列make变量定义,偶尔会混入规则。生成的Makefile.ins遵循GNU Makefile的标准。GNU Makefile标准文档非常冗长且复杂,容易变化,Automake的目标是减轻单个GNU维护者维护Makefile的压力,转而由Automake维护者来处理。
典型的Automake输入文件只是一系列的变量定义。每个这样的文件都会被处理以创建一个Makefile.in。Automake在某些方面对项目有所约束,比如假设项目使用了Autoconf(参见《Autoconf手册》的“介绍”部分),并且对configure.ac的内容施加了特定限制。
Automake自身需要perl来生成Makefile.ins。然而,由Automake创建的发行版完全符合GNU标准,并且在构建时不需要perl。这意味着用户可以在没有perl的环境中编译这些发行版。
该文档涵盖了多个主题,包括:
1. **介绍**:提供了Automake的基本概念和目的。
2. **Autotools简介**:介绍了GNU Build System,包括其使用场景,如基础安装、标准的Makefile目标、目录变量、配置变量以及如何通过config.site覆盖默认配置设置等。
3. **基本安装**:解释了如何进行标准的项目安装。
4. **标准Makefile目标**:描述了如`all`, `install`, `clean`等常见的Makefile目标。
5. **标准目录变量**:列举了如`srcdir`, `objdir`等用于控制构建过程的变量。
6. **标准配置变量**:讨论了如`prefix`, `exec_prefix`等配置路径变量。
7. **使用config.site覆盖默认配置**:指导如何通过config.site文件个性化项目配置。
8. **并行构建树(VPATH构建)**:介绍了如何处理源代码和构建目录分离的情况。
Automake是GNU Autotools的重要组成部分,它简化了符合GNU标准的软件项目的构建流程,使开发者能够更专注于编写代码而非构建过程。通过Automake,开发者可以确保其项目遵循严格的GNU编码和构建标准,同时减少了手动维护Makefile的复杂性。