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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值