`
public0821
  • 浏览: 238068 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

AutoMake相关流程介绍

阅读更多

    公司的项目既使用手写的makefile,也使用automake,没有统一的规定,一直是把别人的makefile文件拿过来,改改再用。最近有空,仔细了解了一下makefile和automake,发现makefile写起来麻烦,automake简单多了,于是将automake的用法整理了一下,作为以后的参考

 

整个过程的步骤如下:
1. 在存放源代码的目录下执行autoscan命令生成configure.scan文件。
2. 将configure.scan文件改名为configure.in或者configure.ac,并对其默认配置进行修改。
3. 执行aclocal、autoconf两个命令,分别生成aclocal.m4、configure文件。
4. 执行autoheader命令,分别生成config.h.in文件。
5. 创建一个名为Makefile.am的文件,并输入相应的内容。
6. 执行automake --add-missing,它根据Makefile.am文件,生成Makefile.in。
7. 执行./configure脚本文件,它根据Makefile.in文件,生成最终的Makefile文件。
通过以上步骤,在源代码所在目录下自动生成了Makefile文件。

如下图所示



 

 

如果觉得上面的步骤太多,也可以使用autoreconf工具,它会按照顺序调用上面的工具,步骤如下
1. 在存放源代码的目录下执行autoscan命令生成configure.scan文件。
2. 将configure.scan文件改名为configure.in,并对其默认配置进行修改。
3. 创建一个名为Makefile.am的文件,并输入相应的内容。
4. 执行autoreconf --install,它根据Makefile.am,configure.in文件,生成Makefile.in,configure,config.h.in。
5. 执行./configure脚本文件,它根据Makefile.in文件,生成最终的Makefile文件。

如下图所示



 

 

上面介绍了生成Makefile的整个流程,其中包括两个关键的文件,configure.in和Makefile.am,这两个文件都需要人工编写,下面给出一个简单的示例,详细的解释目前写不出来,等有一定的经验之后再写


Configure.in文件:

 

# Process this file with Autoconf to produce a configure script. 
AC_INIT(Main.cpp) 		#指定main函数所在的文件
AM_INIT_AUTOMAKE(hello, 1.0) 	#指定程序名称和版本
# Checks for programs.
#检查可用的编译器
AC_PROG_CC 			#C语言编译器
AC_PROG_CPP			#C++编译器
AC_PROG_CXX
# Checks for libraries. 
# Checks for header files. 
# Checks for typedefs, structures, and compiler characteristics. 
# Checks for library functions. 
AC_OUTPUT(Makefile)

 


Makefile.am文件:

bin_PROGRAMS = hello 				# 生成的可执行文件名称. 
hello_SOURCES = Main.cpp A.h A.cpp B.h B.cpp 	# 程序依赖的源文件

 

 

  • 大小: 62.1 KB
  • 大小: 48.1 KB
分享到:
评论

相关推荐

    automake-1.15.1.tar.gz

    本文将深入探讨automake-1.15.1版本在hi3861开发环境中的应用和相关知识点。 automake是一款开源的自动化构建系统,它遵循GNU规范,帮助开发者创建符合GNU标准的Makefile.in文件。automake的主要任务是处理源代码...

    automake.pdf

    - **章节介绍**:Automake 文档的第一章为“引言”,其中简要介绍了 Automake 的工作原理和目的。 - **Autotools 入门**:第二章是关于 Autotools 的入门介绍,适合对 Automake 不熟悉的用户阅读。这部分内容涉及了 ...

    Automake创建工程流程及附带的测试工程

    本篇文章将详细解析Automake在Linux下的工程创建流程,并介绍如何结合测试工程进行项目管理。 一、Automake简介 Automake是一个用于生成Makefile.in的工具,这些Makefile.in文件是configure脚本(由Autoconf生成)...

    automake-1.14.1.tar.gz

    了解以上知识点,开发者可以更好地理解和处理与Automake相关的编译问题,确保软件的顺利安装和运行。对于系统管理员或开发者来说,掌握Automake的基本操作和原理,对于管理和维护复杂软件环境是十分必要的。

    automake的文档

    通过使用`Makefile.am`模板文件,Automake极大地简化了构建过程,并确保项目遵循一致且标准化的构建流程。此文档为Automake版本1.11.1(2009年12月8日发布),由David MacKenzie、Tom Tromey和Alexandre Duret-Lutz...

    automake和autoconf英文手册

    **automake和autoconf的工作流程** 1. **编写源代码和配置文件** 开发者首先编写源代码,并在项目的源码目录下创建Makefile.am和configure.ac文件。 2. **运行autoreconf** 开发者使用autoreconf工具,它会自动...

    automake使用-项目

    本项目将详细介绍如何使用`automake`来生成多个执行程序。 `automake`是GNU项目的一部分,它与`autoconf`配合工作,帮助开发者创建跨平台的Makefile.in模板。这些模板随后会被configure脚本转换成特定平台的...

    automake和autoconf测试代码

    5. **测试框架**:automake集成`libtool`,可以创建测试用例,并将其集成到构建流程中。 **autoconf** `autoconf` 是一个生成configure脚本的工具,这个脚本可以检查系统特性(如库的存在、特定函数的可用性等),...

    使用AutoMake轻松生成Makefile

    4. **AutoMake工作流程详解** - **步骤1:使用autoscan生成configure.scan文件** - **步骤2:修改configure.scan文件并重命名** - **步骤3:生成.aclocal.m4文件** - **步骤4:使用autoheader生成config.h.in...

    AutoMake 中文手册

    - **经典程序**:介绍一个经典的程序构建流程,包括使用AutoMake进行配置和构建。 - **创建`etags`和`ctags`**:指导如何在构建过程中生成代码标签文件,方便编辑器和其他工具更好地理解源代码结构。 #### 四、创建...

    automake的使用

    ### automake的使用 ...通过以上步骤,我们可以轻松地使用 automake 和相关工具完成一个简单 C 程序的自动化构建流程。这种方法不仅减少了手动编写 makefile 的繁琐工作,而且提高了项目的可移植性和可维护性。

    automake的一个完整例子

    通过学习"hello-2.0"这样的例子,我们可以深入理解automake和autoconf如何协同工作,以及如何为自己的项目设置类似的构建流程。这对于任何希望在开源世界或跨平台环境中发布软件的开发者来说,都是非常重要的技能。

    automake和静态库

    本文将详细介绍如何使用`automake`来自动生成Makefile,并结合具体示例介绍如何创建和使用静态库。 #### 二、目录结构与文件说明 为了清晰展示整个流程,我们将使用以下目录结构作为示例: ``` example |——src...

    autoconf和automake.pdf

    通过以上知识点的介绍,我们可以看出`autoconf`和`automake`在Unix系统下的软件开发中扮演着至关重要的角色,它们极大地简化了构建流程,提高了软件的跨平台兼容性,对于希望在Unix系统下编写和发布开源软件的开发者...

    AutoMake使用总结

    在上述文件中,我们通过一系列步骤详细介绍了如何使用AutoMake来生成Makefile,从而自动化编译过程。以下是针对给定文件中的关键知识点的深入解析。 ### AutoMake使用概览 AutoMake简化了Makefile的编写过程,它...

    GNU AutoMake

    ### GNU AutoMake 相关知识点 #### 一、引言 GNU AutoMake 是一个用于创建符合 GNU 标准的 Makefile 的工具。它基于模板文件自动生成 Makefile,简化了项目构建过程。此手册适用于版本 1.14.1(2013 年 11 月 6 日...

    automake使用文档

    这一组合使得软件能够跨平台编译,同时也提供了一套标准化的构建流程。 **1. CVS简介** Concurrent Version System (CVS)是一个版本控制系统,它记录了代码修改的历史,允许开发者追踪代码的变化。通过CVS,你可以...

    automake-1.4-p6.tar.gz

    4. **软件构建过程**:`automake` 参与的典型构建流程包括: - 用户下载源码包,如 "automake-1.4-p6.tar.gz"。 - 解压源码包,运行 `./configure` 检测系统环境并生成 Makefile。 - 运行 `make` 命令来编译源码...

    automake1.11

    GNU构建系统是用于编译和安装源代码的标准化流程,由`autoconf`,`automake`和`libtool`等工具组成。automake的主要任务是根据源代码结构和配置信息生成`Makefile.in`模板,使得编译过程更加规范和便捷。 2. **...

Global site tag (gtag.js) - Google Analytics