简单实例学习autotools工具

=摘要=
今天实在是无想做有关于比赛的或者学校部门的东西了...因为这个星期天天都是早出晚归的...而且好几天中大部分时间是在车上面渡过的...于是找点其他事做...下面这个就是刚刚搞了一会的事儿--关于如何自动生成makefile...
在这里做一下记录..
autotools是一系列自动化工具...目的在 r动生成makefile,configure等文件...让系统的构建脚本(针对make),源码打包,安装能够通过几个命令自动生成.
本文通过一个简单的例子来说明autotools的简单用法.这里多多少少参考了网上的资料,但是网上的资料在我的机器上进行时有一点点不正常..于是经过自己的一小翻摸索后,终于搞成功了...


CHANGE LOG: (1)Makefile.am 不是Makefile.in 。Makefile.am是手工指定需要编译的源文件,生成的目标程序,当然还有automake的选项的automake输入文件。


=实例=
本实例在~/hello目录进行.目录初始只有一个文件:hello.cpp,是一个简单的c++源程序...目录结构使用tree生成如下:
{{{
	$tree ~/hello
	hello/
	└── hello.cpp
}}}

实例的目的在于使用autotools工具自动生成该hello项目的makfile文件,configure文件.使得下面命令能够成功执行.
{{{
	make		#默认编译整个系统
	make install	#默认安装整个系统到...
	make clean	#清理编译过程产生的临时文件.
	make dist   #源代码打包
}}}
=实现步骤=
==安装==
{{{
$sudo apt-get install autoconf
//有4m左右吧.
}}}
==主要命令==
	autoscan			    #产生configure.sacn==>.in
	aclocal				  #需要要configure.in
	autoconf
	autoheader
	automake			     #需要有Makefile.am
	automake --add-missing		#同上

==系统的编译==
	$./configure			#生成makfile文件
	$make
	$make install
	$make clean
==开始==
使用autotools工具还是需要知道这系列工具是怎么用的...
	1: $autoscan
	2: 这个命令将生成configure.scan文件,将这个文件改成configure.in.
	3: 修改configure.in文件.
	4: 添加如下到configure.in中.
	 {{{
		AC_CONFIG_FILES([Makfile])
		AM_INIT_AUTOMAKE(hello,1.0)
	  }}}


	5: $aclocal
	6: $autoconf					#生成configure可执行文件
	7: $autoheader
	8: 创建Makefile.am文件.
	9: 向Makefile.am文件加入如下信息:
	   {{{
		AUTOMAKE_OPTIONS	= foreign	#
		bin_PROGRAMS		= hello		#指明最终生成的可执行文件
		hello_SOURCES		= hello.cpp	#指明该最终的可执行文件由哪些源文件组成.
	   }}}
	10:$automake 或者 $automake --add-missing	#生成Makefile.in文件.
	到了这里就完成auto工具的使用啦.下面可以需要生成该系统的makfile文件就可以:
	11:$./configure  (如果检查成功的话就会生成makfile啦)
	12:make						#编译
	13:make clean					#清理临时编译文件.
	14:make dist					#对当前源代码打包(打包后的文件是有版本号的.这个版本号在configure.in中确定).
	15:make install					#安装当前系统的程序到默认目录(/usr/local/bin).[可以需要使用root权限来安装]


=小结=
autotools是一个自动生成makefile的文件...多么适合源代码的构建脚本生成,打包,命令行安装呀..哈哈:)

=参考资料=
http://meimoon.blog.sohu.com/140800634.html (autotools相关命令的说明)
http://hi.baidu.com/inter_recoba20/blog/item/424a6c3aa490ab2d96ddd846.html (有autotools的使用流程图)
http://blog.csdn.net/still_unknown/article/details/4140408 (这里有有关于configure.in文件的改写).
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值