第2节 Auto tools
推荐给好友
打印
加入收藏
更新于2008-05-15 18:19:10

 
GNU AutoTools简介

    Autoconf , Automake and Libtool

GNU Package的典型安装

幕后英雄——
GNU Auto Tools:
autoconf, automake,
libtool, autoscan,
autoheader……

  FAQ 0039 @ smth
下载源代码包foo-1.0.tar.gz
tar xvzf foo-1.0.tar.gz
cd foo-1.0
./configure(问题1:配置脚本configure是怎么生成的? 问题2:configure脚本怎么知道该如何生成Makefile )
make
(su) make install

Makefile’s Big Trouble?

   • GNU的Makefile规范相当复杂,随着项目复杂性的增加,要写出一个正确而高效的Makefile相当困难,对新手而言更是如此。


   • 不同的类Unix操作系统之间存在着差异,移植性如何保证?需要大量手工编写的脚本和条件编译。


All in One Solution?

   • GNU Auto Tools是上个世纪90年代开始发展起来的一系列辅助开发、打安装包的自动化工具。
   • 各种工具分别开发,但是协同工作的很好。比如autoconf, automake, libtool等等。
   • 但是,连开发者自己也承认,这套工具虽然好用,但是学习曲线很陡峭。
   • 困难在于:一套新的思路和习惯,一套自定义的宏和规则


Hello World – Step by Step

1. hello.c
#include <stdio.h>
int main() { printf(“Hello World!\n”); return 0; }
2. Makefile.am
bin_PROGRAMS = hello
hello_SOURCES = hello.c
3. configure.in
AC_INIT(hello.c)
AM_INIT_AUTOMAKE(hello, 0.1)
AC_PROG_CC
AC_OUTPUT(Makefile)
4. aclocal
5. autoconf
6. automake --add-missing --foreign
7. ./configure
8. make (make install 安装,make dist 产生安装包)

 

<<上一节         下一节 >> 




 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.