生成Makefile的过程

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

 

首先进入 project 目录,在该目录下运行一系列命令,创建和修改几个文件,就可以生成符合该平台的Makefile文件,操作过程如下:

  1. 在项目根目录下新建Makefile.am并正确书写。
  2. 运行autoscan命令。生成文件configure.scan。扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。
  3. 将configure.scan 文件重命名为configure.in,并修改configure.in文件
  4. 在project目录下新建NEWS README ChangeLog AUTHORS文件
  5. 将/usr/share/automake-1.X/目录下的depcomp和complie文件拷贝到本目录下
  6.  运行aclocal命令。生成文件aclocal.m4(注意:如果没有生成aclocal.m4文件,说明文件configure.in的语法可能有错)。根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将configure.ac文件所需要的宏集中定义到文件 aclocal.m4中。aclocal是一个perl 脚本程序,它的定义是:“aclocal - create aclocal.m4 by scanning configure.ac”。
  7.  运行autoconf命令。根据文件configure.in生成文件configure。
  8. 运行autoheader命令。
  9. 运行automake -ac命令。根据文件Makefile.am生成Makefile.in。
  10.  运行./confiugre脚本。根据文件Makefile.in生成Makefile。

PS:

  1.     configure.in 档的内容是一连串 GNU m4 的巨集,这些巨集经过 
       
        autoconf 处理後会变成检查系统特徵的 shell script。configure.in 内 
       
        巨集的顺序并没有特别的规定,但是每一个 configure.in 档必须在所有 
       
        巨集前加入 AC_INIT 巨集,然後在所有巨集的最後面加上 AC_OUTPUT 巨 
       
        集。我们可先用 autoscan 扫描原始档以产生一个 configure.scan 档, 
       
        再对 configure.scan 做些修改成 configure.in 档。在范例中所用到的 
       
        巨集如下:  
     
       
        dnl  
       
                  这个巨集後面的字不会被处理,可视为注解。  
       
        AC_INIT(FILE)  
       
                  这个巨集用来检查原始码所在的路径,autoscan 会自动产生,我们 
       
                  不必修改它。  
       
        AM_INIT_AUTOMAKE(PACKAGE,VERSION)  
       
                  这是使用 Automake 所必备的巨集,PACKAGE 是我们所要产生软体套 
       
                  件的名称,VERSION 是版本编号。  
       
        AC_PROG_CC  
       
                  检查系统可用的 C 编译器,如果原始程序是用 C 写的就需要这个巨 
       
                  集。  
       
        AC_OUTPUT(FILE)  
       
                  设定 configure 所要产生的档案,如果是 Makefile 的话, 
       
                  configure 便会把它检查出来的结果带入 Makefile.in 档然後产生 
       
                  合适的 Makefile。  

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值