Chinaunix首页 | 论坛 | 博客
  • 博客访问: 60199
  • 博文数量: 40
  • 博客积分: 1607
  • 博客等级: 上尉
  • 技术积分: 382
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-09 16:35
文章分类

全部博文(40)

文章存档

2011年(1)

2010年(30)

2009年(9)

我的朋友

分类: LINUX

2010-04-09 12:56:26

      最近写程序的时候,用Makefile来进行编译。对于小型的程序来讲,手动去写不是特别麻烦的事情。
但是对于大量程序的编译来讲,手动去写Makefile简直是一件非常令人头痛的事情了。上网查了查,可以利用automake来生成Makefile,这样以来就省了非常多的时间。
在试着使用automake的时候,当然也遇到了一些小麻烦。现在在这里将自己试用automake的整个过程写在这里,方便自己以后翻阅也利于初学者借鉴。
     请先确认你的系统已经安装以下的软件
   1.GNU Automake
   2.GNU Autoconf
   3.GNU m4
   4.perl
   5.GNU Libtool(如果你需要产生sharedlibrary)
   对你写好的程序,比如说hello.c
   运行,autoscan,这样会生成一个configure.scan文件。编辑这个文件,在
AC_INIT(hello.c) 这个宏后面添加宏 AM_INIT_AUTOMAKE(hello, 1.0) 这里定义生成文件名为hello,版本为1.0.然后补全最后的AC_OUTPUT,为 AC_OUTPUT(Makefile)
   保存,并修改configure.scan 为 configure.in
   执行aclocal生成
aclocal.m4
   执行autoconf,生成configure,这就是最后用来./configure的文件了。但是要生成一个Makefile,还需要手动写一个Makefile.am文件

   bin_PROGRAMS=hello    最生输出的可执行文件名,输出多个则用空格隔开即可
   hello_SOURCES=hello.c 依赖的源文件,有多个源文件用空格隔开,有头文件也写出来。
   include_HEADERS  引用的头文件
   hello_LDADD 链接时要的额外函数库名
   这是一些Makefile.am的一些常用项:

         
    执行autoheaders,automake --add-missing
    ls以下,你就会看到:
           aclocal.m4 config.h.in configure.in~ hello.c Makefile.am
           autom4te.cache configure COPYING INSTALL Makefile.in
           autoscan.log configure.in depcomp install-sh missing
    现在执行./configure,你就会看到生成了Makefile ,通过 make就可以实现编译了

阅读(315) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~