autoconf学习笔记
configure.in/configure.ac是各种宏的集合,主要作用是编译流程的整合
具体文件生成的配置,其实是在Makefile.am里进行的,然后经过automake处理Makefile.am生成发布用的Makefile.in。
在执行configure时,将使用Makefile.in里的参数生成Makefile。
注:目前没看到autoconf和automake有自动列举目录中所有文件的能力。这点不及CMake方便。不过,可以通过脚本生成Makefile.am的方式来自动引入源文件。但Cmake没有 autoconf的 make distclean清理中间文件的能力。
Makefile.am中是使用 组合字符串的方式进行变量定义。
特定变量在后面,前面是一个指示或者已定义的标示。
比如 特定变量有 PROGRAMS LIBRARIES
inst_PROGRAMS=program_name 表明需要生成要安装的可执行文件program_name
noinst_PROGRAMS=program_name 则是不用安装的。
然后用 program_name_SOURCES= 声明所用到的源文件,
program_name_LDADD= 声明用到的库文件。
其中PROGRAMS=行所的程序文件名如果包含./等字符,在后续的变量声明中要替换成_下划线。
首先使用 autoscan 自动生成初始化的configure.scan
然后改名为configure.ac根据需要修改其中内容。
使用宏AM_INIT_AUTOMAKE来引入automake。
注意,如果要使用子目录的话,需要在configure.ac的最后AC_OUTPUT中声明生成子目录的文件,比如Makefile,Makefile.in之类。AC_OUTPUT(Makefile src/Makefile test/Makefile)
否则,即使在Makefile.am中声明了SUBDIRS也会因为缺少子目录中的Makefie而不能工作。因为automake负责生成Makefile.in,而configure负责生成Makefile.
附一个更新用脚本
#/bin/sh
set -x #enable trace
if [ -e Makefile ];then make distclean; fi
aclocal
#autoheader
automake --foreign --add-missing
autoconf
分享到:
相关推荐
Autoconf是一个用于生成可以自动地配置软件源代码包以适应多种Unix类系统的 shell脚本的工具。由Autoconf生成的配置脚本在运行的时候与Autoconf是无关的, 就是说配置脚本的用户并不需要拥有Autoconf。
在MinGW中,autoconf和automake是两个非常重要的自动化构建工具,它们帮助开发者创建可移植的、符合GNU标准的软件项目。 **autoconf** autoconf是一个自动配置脚本生成器,它能够生成一个名为`configure`的脚本,这...
### Autoconf 手册知识点概览 #### 一、Autoconf简介 - **Autoconf**是一种用于简化跨平台编译过程的工具,主要用于创建自动生成的`configure`脚本,这些脚本能够检测用户系统上的特定特性,并相应地配置源代码以...
ubuntu20.04离线安装autoconf 包括安装的deb包和依赖包
在标题"sqlite-autoconf.tar.gz_sqlite_sqlite 加密_sqlite3autoconf_wxsqlite"中,我们可以看到与 SQLite 相关的几个关键点:加密、sqlite3autoconf 和 wxSQLite。 1. **SQLite 加密**: SQLite 提供了一个可选的...
### GNU Autoconf 相关知识点解析 #### 一、GNU Autoconf 概述 GNU Autoconf 是一个用于简化跨平台软件构建过程的工具。它通过自动生成配置脚本来支持多种不同的操作系统和编译器环境,使得软件项目可以更容易地...
《自动配置神器:autoconf-2.57详解》 在软件开发领域,尤其是在开源社区,跨平台兼容性是一项至关重要的任务。为了确保软件能在不同的操作系统和编译环境中顺利构建,开发者常常会依赖一些自动化工具,其中...
### Autoconf教程:创建自动配置脚本 #### 引言 Autoconf是GNU项目下的一个工具包,用于创建脚本来配置源代码包,利用模板和M4宏包实现自动化配置。Autoconf允许开发者编写可移植的配置脚本,确保软件在不同系统上...
还觉得写Makefile是难事吗?autoconf-图文详解-附带详细解释 作者亲自写的例子: MyFirst.cpp Hello.h Hello.cpp configure.in Makefile.am autoconf总结.docx 手把手教你玩转 autoconf automake
在IT行业中,构建自动化工具是开发过程中的重要一环,其中`autoconf`是一个广泛使用的开源工具,主要用于生成跨平台的配置脚本,使源代码能够适应不同的操作系统和编译环境。`autoconf`通过自动检测系统特性并生成...
《自动配置神器:autoconf-2.65深入解析》 在Linux系统的世界里,软件构建和安装过程往往需要一定的自动化工具,以适应各种不同的环境和配置。autoconf就是这样一个强大的自动化配置工具,它能够帮助开发者创建出...
标题中的"autoconf-2.13.tar.gz"是一个开源软件构建工具的源代码压缩包,其中"autoconf"是核心关键词,版本号为2.13,而".tar.gz"表示这是一个使用tar命令打包并使用gzip压缩的文件格式,通常在Linux或Unix环境中...
《自动配置神器:autoconf-2.58详解》 在开源软件开发的世界里,配置环境经常成为开发者面临的一大挑战,特别是在跨平台的项目中。为了解决这个问题,诞生了一款强大的工具——`autoconf`。`autoconf-2.58`是`...
《自动配置神器:深入理解autoconf 2.62》 在开源软件的世界里,autoconf是一个不可或缺的工具,尤其对于那些需要跨平台编译的项目来说,...同时,不断学习和适应autoconf的新版本,将有助于我们跟上开源世界的步伐。
标题中的"autoconf-2.68.tar.zip"是一个压缩包文件,其中包含了"autoconf"的2.68版本。这个工具是开源软件开发中非常重要的自动化配置工具,主要用于生成Unix/Linux系统的configure脚本,使得源代码可以适应不同的...
在提供的文件中,如`index.html`是整个文档的索引,`Autoconf-Macro-Index.html`则包含了autoconf宏的详细索引,方便开发者查找和学习宏的使用。 3. **关键文件解析** - **`Autoconf-Macro-Index.html`**:此文件...
### Autoconf文档详解 #### 一、引言 在开源软件的世界里,自动化构建工具扮演着极其重要的角色。其中,Autoconf 是一个用于创建自动配置脚本的工具包,它可以帮助开发者为源代码包创建配置脚本。这些脚本能够根据...
【Autoconf】是一个GNU编译工具,主要用于生成适应多种类Unix系统的自动配置脚本,使得软件源码包的编译和安装过程能自动化进行。这个工具产生的脚本在执行时不需要用户安装autoconf本身,因此方便了最终用户的使用...
通过学习和掌握这三个工具,开发者可以创建出高度可移植的软件,无论是在 Linux、Unix 还是 Windows 系统上,都能实现无缝编译和部署。因此,对于任何希望其软件在各种环境下游刃有余的开发者来说,这些都是不可或缺...
《自动配置工具autoconf-2.69:构建软件的智能解决方案》 在软件开发领域,尤其是开源项目中,为了确保软件能在各种不同的操作系统和环境下正常编译和运行,开发者通常会采用一种名为"autoconf"的自动化工具。...