博客首页 注册 建议与交流 排行榜 加入友情链接         宝宝相册的专门空间
推荐 投诉 搜索: 帮助

Unix爱好者家园

   sdccf.cublog.cn
关于作者  
姓名:sdccf
职业:chinapost
年龄:36
位置:sd
个性介绍:

我的分类  




Linux下automake软件编译与发布快速入门 (2)
来源:赛迪网    作者:korn

3.运行aclocal生成aclocal.m4文件

configure.in文件编辑保存完后,用aclocal命令生成aclocal.m4文件。

执行以下命令:

$aclocal

然后用ls列出生成的文件。如果没有找到aclocal.m4文件,那一般是configure.in文件不对,修改后再重试。

4.运行autoconf生成configure文件

用autoconf命令来生成configure可执行文件。

执行以下命令:

$autoconf

然后用ls检查configure是否已经成功生成。

5.建立Makefile.am文件

Makefile.am是用来生成Makefile.in的,需要你手工书写。Makefile.am中定义了一些内容:

AUTOMAKE_OPTIONS

这个是automake的选项。在执行automake时,它会检查目录下是否存在标准GNU软件包中应具备的各种文件,例如AUTHORS、ChangeLog、NEWS等文件。我们将其设置成foreign时,automake会改用一般软件包的标准来检查。

bin_PROGRAMS

这个是指定我们所要产生的可执行文件的文件名。如果你要产生多个可执行文件,那么在各个名字间用空格隔开。

helloworld_SOURCES

这个是指定产生“helloworld”时所需要的源代码。如果它用到了多个源文件,那么请使用空格符号将它们隔开。比如需要 helloworld.h,helloworld.c那么请写成helloworld_SOURCES= helloworld.h helloworld.c。

如果你在bin_PROGRAMS定义了多个可执行文件,则对应每个可执行文件都要定义相对的filename_SOURCES。

LIBS

这个用来指定链接的程序库。如LIBS += -lpthread,指定链接pthread库。

执行命令:

$vim Makefilemam

进入编辑界面,输入内容如下:

AUTOMAKE_OPTIONS=foreign

bin_PROGRAMS=simserver1 #软件包名称

simserver1_SOURCES=simserver1.cpp  #源文件列表,如果有多个则用空格分开

LIBS += -lpthread #链接pthread库

6.运行automake

执行automake --add-missing来产生Makefile.in。

$automake --add-missing

执行后应该生成Makefile.in文件.

7.运行configure生成Makefile

执行:

$./configure

8.执行make生成可执行文件

$make

执行后应该编译输出simserver1可执行文件.

make还有以下几个命令:

make install可以将simserver1安装到/usr/local/bin目录下;

make clean可清除上次编译结果

make dist可将代码打包成packagename-ver.tar.gz文件

make distcheck用来检查打包的软件包是否正常。

 发表于: 2008-05-16,修改于: 2008-05-16 07:58 已浏览144次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:1.25836

京ICP证041476号