`

生成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。  

 

分享到:
评论

相关推荐

    自动生成 Makefile 的全过程详解

    ### 自动生成 Makefile 的全过程详解 #### 一、引言 在进行软件开发的过程中,Makefile 起到了至关重要的作用。它不仅能够自动化管理项目的编译过程,还能确保每次构建时只对确实需要更新的部分进行编译。然而,...

    如何自动生成makefile

    在提供的资源中,`Linux 知识总结--如何自动生成Makefile.doc` 可能包含了关于这些工具的详细说明和使用教程,而 `project.rar` 可能是一个包含实际代码的项目,展示了如何应用上述方法生成 `Makefile`。 学习自动...

    linux c自动生成Makefile

    在Linux环境中,C语言开发项目通常使用Makefile来管理编译和...在阅读提供的"Automake,Autoconf自动生成Makefile.pdf"和"自动生成Makefile详细过程.txt"文件时,可以更详细地了解每个步骤的具体操作和相关命令的用法。

    使用AutoMake轻松生成Makefile

    ### 使用AutoMake轻松生成Makefile #### 知识点概览 1. **Makefile的基础概念** 2. **AutoMake的简介与优势** 3. **系统环境准备** 4. **AutoMake工作流程详解** - **步骤1:使用autoscan生成configure.scan文件*...

    运用Autoconf和Automake生成Makefile的学习之路

    Autoconf 和 Automake 生成 Makefile 在软件开发过程中,Makefile 是一个不可或缺的组成部分,它定义了整个工程的编译规则。然而,手动编写 Makefile 是一个复杂而且容易出错的过程。这就是 Autoconf 和 Automake ...

    linux自动生成makefile

    通过上述步骤,我们可以看到自动生成Makefile的过程涉及到多个工具的协作。`autoconf`和`automake`等工具大大简化了这一过程,使得开发者能够更专注于软件功能的实现而非繁琐的构建配置工作。对于开源项目来说,这种...

    autotools系列工具—-自动生成Makefile

    Autotools系列工具应运而生,它通过自动化生成Makefile来简化这一过程,同时能够自动收集系统配置信息,解决移植性问题,极大地提高了开发效率和代码的可维护性。 #### 二、Autotools系列工具详解 Autotools是由一...

    自动生成makefile深入讲解

    本篇文章将深入探讨如何在Linux环境下使用Auto Make工具自动生成Makefile,并通过一个简单的示例来详细说明整个过程。 #### 一、环境准备与基本概念 在开始之前,我们需要确保以下几点: 1. **开发环境**:本文...

    例解 autoconf 和 automake 生成 Makefile 文件

    `autoconf` 和 `automake` 是两个经典的开源工具,它们主要用于Unix/Linux环境下的自动配置和构建过程,帮助开发者生成适应不同平台的`Makefile`。这两个工具的结合使用可以简化项目构建,确保源代码在多种环境下都...

    Makefile自动生成脚本

    通过shell脚本自动生成Makefile,可以大大简化项目的构建过程,提高开发效率。但需要注意的是,这种方式可能无法处理所有复杂情况,对于大型项目,可能需要使用更高级的构建系统,如CMake或autotools。

    跟我一起自动生成Makefile

    ### 自动生成Makefile详解 #### 一、引言 在软件开发过程中,构建管理是非常重要的一环。对于大型项目而言,构建过程往往涉及到多个源文件的编译与链接,这使得手动编写和维护Makefile变得既繁琐又容易出错。为了...

    makefile生成向导工具

    【描述】:“makefile生成向导工具”的主要功能是简化`Makefile`的创建过程。通过向导式的交互界面,用户可以指定项目结构、源文件、依赖关系等信息,工具会自动生成相应的`Makefile`内容。这降低了对`Makefile`语法...

    Makefile自动化脚本,运行该脚本可直接自动生成Makefile文件

    7. **shell脚本与Makefile结合**:通过Shell脚本自动化生成Makefile,可以简化手动维护Makefile的工作,尤其在大型项目中,依赖关系复杂,这样的自动化工具非常实用。 8. **C语言编程**:`main.c`是C语言的主程序...

    如何用automake生成Makefile

    【如何用automake生成Makefile】 在软件开发过程中,管理源代码编译和构建过程的一个常见工具是Makefile,而automake可以帮助我们自动化这个过程。automake是GNU项目的一部分,它提供了一种标准化的方式来创建符合...

    autofile生成makefile实例

    在"例解用autoconf automake生成MAKEFILE文件.pdf"中,可能详细阐述了如何使用这两个工具来创建`Makefile`的过程。通常,这个过程包括以下几个步骤: 1. **配置阶段**:首先,编写`configure.ac`文件,这是`...

    automake生成makefile的工具

    标题中的“automake生成makefile的工具”是指Automake,这是一个在开源软件开发领域广泛使用的自动化构建系统。它主要用于创建遵循GNU标准的Makefile.in文件,这些文件在configure脚本运行后会被转换成最终的...

    autoconf 和 automake 生成 Makefile 文件

    为了简化这个过程,GNU提供了`autoconf`和`automake`这两个工具,它们能自动生成Makefile,使得软件安装只需要执行“./configure”,“make”和“make install”。 `autoconf`是一个基于m4宏语言的脚本生成器,它...

    Glade工程生成makefile文件

    ### Glade工程生成Makefile文件详解 #### 一、引言 在Linux环境下进行GUI编程时,使用Glade工具设计界面是一种非常常见的做法。Glade是一个用于GTK+库的图形化用户界面设计器,它能够帮助开发者快速构建美观且功能...

Global site tag (gtag.js) - Google Analytics