公司的项目既使用手写的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
分享到:
相关推荐
Linux系统下Automake创建工程流程,附带创建历程工程。 使用Automake创建自己的工程,方便管理及程序发布,是Linux下开源软件发布的必备工具。
ubuntu20.04离线dpkg安装automake
免费下载 automake-1.16.1.tar.xz_FreeDownload.zip 文件后,解压此文件即可得到 automake-1.16.1.tar.xz源文件。
automake 是linux下的自动生成makefile的工具。需要配合auroconf使用 版本:automake-1.9.6.tar.tar
autoconf automake 轻松入门
autoconf和automake
GNU官方的Automake教程,国内的Automake教程大多过时并且抽象,官方教程从零开始,可帮助初学者快速了解Automake的基础知识,熟练驾驭开源项目的automake
AutoMake使用总结,如何使用AutoMake!
automake和autoconf英文手册,automake和autoconf英文手册
automake的一个完整例子。 研究automake的例子。当然也包括autoconf。
automake 1.11版本 automake 1.11版本 automake 1.11版本
automake-1.11.3.tar.xz
GNU automake documentation file
如何使用automake,如何通过automake构建一个源代码工程
轻松学automake.pdf—— automake及开源项目软件工程中文基础教程,很实用!
依次执行命令:aclocal,libtoolize -f -c,autoconf,automake --add-missing,./configure,make。 3、cd */project/swap 依次执行命令:aclocal,autoconf,automake --add-missing,./configure,make。 4、cd *...
automake 可以生成两个执行程序:main 和main2 一个automake生成多个执行程序
automake 工具链使用, 有利于makefile的生成
automake-1.9.5-mingwPORT
使用AutoMake轻松生成Makefile