作家
登录

Linux下使用autoconf和automake生成Makefile

作者: 来源: 2017-09-12 10:24:24 阅读 我要评论

  •  
  • AM_INIT_AUTOMAKE(helloworld, 1.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)  
  • 5 履行aclocal和autoconf

    我们应用automake,根据configure.in和Makefile.am来产生Makefile.in。

    然后履行敕令aclocal和autoconf,分别会产生aclocal.m4及configure两个文件:

    1. $ aclocal 
    2.  
    3. $ls 
    4.  
    5. aclocal.m4 configure.in helloworld.c 
    6.  
    7. $ autoconf 
    8.  
    9. $ ls 
    10.  
    11. aclocal.m4 autom4te.cache configure configure.in helloworld.c 

    大年夜家可以看到configure.in内容是一些宏定义,这些宏经autoconf处理后会变成检查体系特点、情况变量、软件必须的参数的shell脚本。

    autoconf 是用来生成主动设备软件源代码脚本(configure)的对象。configure脚本能自力于autoconf运行,且在运行的过程中,不须要用户的干涉。

    1、建目次

    要生成configure文件,你必须告诉autoconf若何找到你所用的宏。方法是应用aclocal法度榜样来生成你的aclocal.m4。

    aclocal根据configure.in文件的内容,主动生成aclocal.m4文件。aclocal是一个perl 脚本法度榜样,它的定义是:“aclocal - create aclocal.m4 by scanning configure.ac”。

    autoconf大年夜configure.in这个列举编译软件时所须要各类参数的模板文件中创建configure。

    autoconf须要GNU m4宏处理器来处理aclocal.m4,生成configure脚本。

    3、 aclocal

    m4是一个宏处理器。将输入拷贝到输出,同时将宏展开〖?松所以内嵌的,也可所以用户定义的。除了可以展开宏,m4还有一些内建的函数,用来引用文件,履行敕令,整数运算,文本操作,轮回等。m4既可以作为编译器的前端,也可以零丁作为一个宏处理器.

    6、新建Makefile.am

    内容如下:

    Code:

    1. AUTOMAKE_OPTIONS=foreign 
    2.  
    3. bin_PROGRAMS=helloworld 
    4.  
    5. helloworld_SOURCES=helloworld.c  

    7、运行automake

    敕令:

    Code:

    1. $ automake --add-missing 
    2.  
    3. configure.in: installing `./install-sh' 
    4.  
    5. configure.in: installing `./mkinstalldirs' 
    6.  
    7. configure.in: installing `./missing' 
    8.  
    9. Makefile.am: installing `./depcomp'  

    automake会根据Makefile.am文件产生一些文件,包含最重要的Makefile.in。

    8、履行configure生成Makefile

    Code:

    1. $ ./configure 
    2.  
    3. checking for a BSD-compatible install /usr/bin/install -c 
    4.  
    5. checking whether build environment is sane yes 
    6.  

        推荐阅读

        MySQL主从同步那点事儿

      51CTO诚邀您9月23号和秒拍/国美/美团元专家一路聊智能CDN的优化之路,抓紧时光哦! 一、媒介关于mysql主大年夜同步,信赖大年夜家都不陌生,跟着体系应用拜访量逐渐增大年夜,单台数据库读>>>详细阅读


      本文标题:Linux下使用autoconf和automake生成Makefile

      地址:http://www.17bianji.com/lsqh/37331.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)