autotools入门笔记(一)
来源:互联网 发布:网络创业靠谱吗 编辑:程序博客网 时间:2024/05/01 04:56
GNU autotools作用:收集系统配置信息并自动生成Makefile文件。
GNU autotools主要包括三个工具:autoconf、automake、libtool,还有很多辅助的工具,包括:autoheader、aclocal、autoscan。
● autoscan检测源文件生成configure.scan;
● autoconf根据configure.in(或者configure.ac)生成configure;
● automake根据Makefile.am 生成Makefile.in。
这几个工具及中间生成的文件的关系图如图1所示:
图1
Ubuntu下安装:
sudo apt-get install autoconf
sudo apt-get install automake
下面以test工程为例,工程跟目录为test,只有一个源文件main.c。构建的主要步骤如下,其中最主要的步骤是(2)和(6):
(1)运行autoscan检测源文件生成configure.scan,将其修改成configure.in
(2)编辑configure.in
a.修改AC_INIT(FULL-PACKAGE-NAME,VERSION, BUG-REPORT-ADDRESS),FULL-PACKAGE-NAME为程序名称,VERSION为当前版本,BUG-REPORT-ADDRESS为bug汇报地址。例如:AC_INIT(main,0.0.1,test@test.com);
b. 随后增加一行:AM_INIT_AUTOMAKE(test, 0.0.1);
c. 在AC_OUTPUT前增加一行:AC_CONFIG_FILES([Makefile])
(文件configure.in完整内容如图2所示)
图2
(3)运行aclocal生成aclocal.m4
(4)运行autoconf生成configure脚本
(5)运行autoheader生成config.h.in文件
(6)创建并编辑Makefile.am
AUTOMAKE_OPTIONS=foreign
#automake提供了三种软件等级:foreign、gnu和gnits,默认等级为gnu,(会检测NEWS、README、AUTHORS和ChangeLog文件)。
#在本例使用foreign等级,它只检测必须的文件。
bin_PROGRAMS=main
#定义要产生的可执行文件名,如果要产生多个执行文件,每个文件名用空格隔开。
main_SOURCES=main.c
#指定用来生成目标的源文件列表
(文件Makefile.am完整内容如图3所示)
图3
(7)运行automake --add-missing生成makefile.in
(8)运行configure脚本生成Makefile
至此,构建完毕,运行make命令可以完成编译过程生成可执行文件main。
- autotools入门笔记(一)
- autotools入门笔记(二)——创建和使用静态库、动态库
- AutoTools 简单入门
- AutoTools 傻瓜入门
- autotools 入门学习使用
- AutoTools 傻瓜入门
- AutoTools 简单入门 [转]
- autotools生成Makefile(一)
- autotools生成Makefile(一)
- Autotools工具学习(一)
- Autotools使用一
- GNU Autotools学习笔记
- 学习笔记linux autotools创建makefile文件(续)
- OpenGL入门笔记(一)
- TFS-入门笔记(一)
- Python入门笔记(一)
- Linux 入门笔记(一)
- Spring入门笔记(一)
- QRCode二维码生成方案及其在带LOGO型二维码中的应用
- JavaScript的return关键字用法
- svn 从安装到配置
- chm文件看不了的问题的解决方法
- 自动生成Makefile
- autotools入门笔记(一)
- ios开发点滴-Designing for iOS: Graphics & Performance
- EXTJS4.0+MVC表格基础实例(分页查询,修改和删除)
- Java String\StringBuffer\Stringbuilder
- SQL Server 2005用存储过程从服务器中导出数据到本地自己的数据库
- 银行业务调度系统
- java final关键字
- 动态修改数据源配置
- http://m2eclipse.sonatype.org/sites/m2e地址更换了