winston 发表于 2012-1-20 11:27:55

[原]linux下的C语言开发(自动编译工具)

【 声明:版权所有,欢迎转载,请勿用于商业用途。联系信箱:feixiaoxing @163.com】

    在Linux下面,编写makefile是一件辛苦的事情。因此,为了减轻程序员编写makefile的负担,人们发明了autoconf和automake这两个工具,可以很好地帮我们解决这个问题。
    我们可以通过一个简单的示例来说明如何编写。

(1)首先,编写源文件hello.c。


#include <stdio.h>

int main(int argc, char** argv[])
{
    printf("hello, world!\n");
    return 1;
}
(2)接下来,我们需要创建一个Makefile.am,同时编写上脚本。

SUBDIRS=

bin_PROGRAMS=hello
hello_SOURCES=hello.c

(3)直接输入autoscan,生成文件configure.scan,再改名为configure.in。

修改脚本AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS)
为AC_INIT(hello, 1.0, feixiaoxing@163.com)

同时,在AC_CONFIG_HEADER()后面添加
AC_INIT_AUTOMAKE(hello, 0.1)

(4)依次输入aclocal命令、autoheader命令

(5)创建4个文件,分别为README、NEWS、AUTHORS和ChangeLog

(6)依次输入automake -a、autoconf命令

(7)输入./configure,生成最终的Makefile

(8)如果需要编译,输入make;如果需要安装, 输入make install;如果发布软件包,输入make dist



作者:feixiaoxing 发表于2012-1-19 21:52:52 原文链接

ztenv 发表于 2012-1-20 11:36:03

貌似比这个要复杂一些;
尤其是在涉及到多个库编译的时候,中文资料不多;也就是在去年的这个时候,由于公司放假,所以才深入的学习了下个autotools工具,总算有了比较深入的了解;并且已经应用到了我们的软件中了;

ztenv 发表于 2012-1-20 11:36:38

不过如果makefile模板写好了也满足一般的应用了,但给人的感觉就是不如autotools专业;
页: [1]
查看完整版本: [原]linux下的C语言开发(自动编译工具)