GNU Automake 中文手册:构建自动化工具

5星 · 超过95%的资源 需积分: 10 27 下载量 79 浏览量 更新于2024-07-29 收藏 344KB PDF 举报
"Automake中文手册.pdf" Automake是GNU项目的一部分,它是一个自动化工具,用于帮助构建遵循GNU标准构建系统的软件项目。这个手册是Automake的中文版,旨在帮助开发者理解和使用Automake来生成符合GNU标准的`Makefile.in`文件,这些文件是配置过程的一部分,最终将被`autoconf`工具转换成`Makefile`,使得编译和安装过程更加自动化和标准化。 在Automake中,有以下几个关键概念: 1. **通用操作**:包括设置基本的构建规则,如编译源代码、链接目标等。这些规则适用于大多数软件项目。 2. **深度**:Automake可以处理多层目录结构,使得大型项目也能有序管理。 3. **严格性**:Automake遵循严格的规则,确保生成的构建系统是可靠和一致的。 4. **统一命名机制**:Automake使用特定的变量和规则来命名派生变量和目标,例如`LIBOBJS`用于库的目标对象,`ALLOCA`用于动态内存分配。 5. **派生变量是如何命名的**:Automake根据文件类型和目标类型自动确定变量名称,简化了配置文件的编写。 6. **创建`Makefile.in`**:这是Automake的核心任务,它从`Makefile.am`文件中读取信息并生成可配置的模板。 7. **扫描`configure.in`**:Automake会检查`configure.in`(或现在的`configure.ac`)文件,从中获取配置需求,并生成`configure`脚本。 8. **支持的Autoconf宏**:Automake与Autoconf紧密集成,能识别并处理Autoconf定义的宏,如`AC_PROG_CC`等。 9. **创建程序和库**:包括静态库、共享库以及单独的可执行程序,每个都有其特定的配置规则。 10. **支持Yacc和Lex**:Automake可以自动处理由Yacc和Flex产生的源文件。 11. **自动依赖性跟踪**:Automake能自动检测源文件的依赖性,生成必要的`make`规则以确保正确构建。 12. **其他GNU工具**:Automake还与其他GNU工具(如Emacs Lisp、Gettext、Guile、Libtool和Java)集成,提供跨语言和跨平台的构建支持。 13. **创建文档**:包括支持Texinfo格式的文档和man手册页的生成。 14. **测试套件支持**:Automake提供了构建和运行测试套件的框架,以确保代码的质量。 15. **条件(Conditionals)**:允许根据特定条件调整构建行为,如操作系统、编译器版本等。 16. **不同选项的效果**:如`--gnu`、`--gnits`和`--cygnus`选项会改变Automake的行为以适应不同的编码风格和平台要求。 17. **发布`Makefile.in`**:在项目发布时,需要包含`Makefile.in`以便用户可以自行配置和构建。 通过Automake,开发者可以专注于编写代码,而将构建过程的复杂性交给自动化工具处理,从而提高开发效率和代码的可移植性。这份手册详细解释了Automake的各个方面,是开发遵循GNU构建规范软件项目的宝贵资源。