Linux configure文件生成

来源:互联网 发布:ubuntu查看gpu使用率 编辑:程序博客网 时间:2024/06/15 17:44

一. 安装工具 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]# lsautoscan.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]# lsaclocal.m4  autom4te.cache  autoscan.log  configure.in  mycc.c[root@waf mypkg]# autoconf[root@waf mypkg]# lsaclocal.m4  autom4te.cache  autoscan.log  configure  configure.in  mycc.c

四.  新建 Makefile.am, 内容:

AUTOMAKE_OPTIONS=foreignbin_PROGRAMS=myccmycc_SOURCES=mycc.c

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

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

六. 运行automake ,生成configure

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

七. 试试configure

./configuremakemake install


参考:

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

原创粉丝点击