GNU Automake 中文手册:构建自动化工具
5星 · 超过95%的资源 需积分: 10 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构建规范软件项目的宝贵资源。
2019-03-25 上传
2014-11-25 上传
2022-05-02 上传
2010-05-05 上传
2024-01-30 上传
2021-06-25 上传
2021-10-05 上传
2021-03-04 上传
haoweir
- 粉丝: 1
- 资源: 9
最新资源
- DLinkMaP:果蝇连锁图谱管线
- AWS-EKS-平台
- IonoTomo:使用射线追踪和射电观测模拟进行射电天文学的电离层层析成像
- Favicon Fixer for Gmail-crx插件
- valve.rar_OpenGL_Visual_C++_
- RMariaDB:到MariaDB的R接口
- YouPay
- rticles:R Markdown的LaTeX Journal文章模板
- Watcher.rar_对话框与窗口_Visual_C++_
- Startuphack New Tab Page Extension-crx插件
- matlab实现bsc代码-LDPC:简单的Matlab函数,使用对数和积方法实现LDPC软解码算法
- armeypa
- linux_study
- PyPI 官网下载 | tencentcloud-sdk-python-ecc-3.0.524.tar.gz
- reviewing-a-pull-request
- RSocrata:提供与Socrata开放数据门户http://dev.socrata.com的轻松交互。 用户可以提供“ Socrata”数据集资源URL,或“ Socrata”开放数据API(SoDA)Web查询,或“ Socrata”“人性化” URL,返回R数据帧。 将日期转换为“ POSIX”格式。 通过“ Socrata”管理节流