Linux configure文件生成

一. 安装工具 automake, autoconf,  编写源程序:mycc.c

#include <stdio.h>
#include "config.h"

int main(int argc, char** argv)
{
    if(argv == 1)
    {
        printf("version: %s\n", PACKAGE_STRING);
    }
    else
    {
        printf("name     : %s\n", PACKAGE);
        printf("version  : %s\n", VERSION);
        printf("bugreport: %s\n", PACKAGE_BUGREPORT);
    }
    return 0;
}
需要说明的是mycc.c中用到的宏来自config.h,  而config.h又是工具生成的(见后文)

二.  运行autoscan , 生成 configure.scan

[root@waf mypkg]# autoscan
[root@waf mypkg]# ls
autoscan.log  configure.scan  mycc.c
[root@waf mypkg]#
重命名configure.scan 为 configure.in ,并编辑configure.in

#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.63])
AC_INIT([mycc], [1.0.0], [www.mycc.org])
AC_CONFIG_SRCDIR([mycc.c])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([mycc], [1.0.0])

# Checks for programs.
AC_PROG_CC

# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_OUTPUT(Makefile)

三. 运行aclocal , autoconf

[root@waf mypkg]# aclocal
[root@waf mypkg]# ls
aclocal.m4  autom4te.cache  autoscan.log  configure.in  mycc.c
[root@waf mypkg]# autoconf
[root@waf mypkg]# ls
aclocal.m4  autom4te.cache  autoscan.log  configure  configure.in  mycc.c

四.  新建 Makefile.am, 内容:

AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=mycc
mycc_SOURCES=mycc.c

五. 运行 autoheader, 生成config.h.in (automake要用到)

[root@waf mypkg]# ls
aclocal.m4  autom4te.cache  autoscan.log  configure  configure.in  mycc.c
[root@waf mypkg]# vim Makefile.am
[root@waf mypkg]# autoheader
[root@waf mypkg]# ls
aclocal.m4      autoscan.log  configure     Makefile.am
autom4te.cache  config.h.in   configure.in  mycc.c

六. 运行automake ,生成configure

[root@waf mypkg]# automake --add-missing
configure.in:8: installing `./install-sh'
configure.in:8: installing `./missing'
Makefile.am: installing `./depcomp'
[root@waf mypkg]#

七. 试试configure

./configure
make
make install


参考:

http://www.ibm.com/developerworks/cn/linux/l-makefile/

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值