美文网首页C / C++ 开发
使用automake等命令自动生成Makefile文件

使用automake等命令自动生成Makefile文件

作者: 廖阿哈 | 来源:发表于2019-04-02 16:43 被阅读0次

    Linux下编程时,为了方便编译,往往使用Makefile文件自动完成编译,但是Makefile文件本身的书写十分复杂,规则很多。好在Linux为我们提供了自动生成功能完善的Makefile文件的工具autoconf/automake。本文讲述如何使用它们生成Makefile文件。要用到的工具组主要包括autoconf,automake,perl语言环境和m4。

    可以使用命令 rpm -qa | grep - auotomake 查看是否安装了 automake

    若没有安装 使用命令:apt-get install automake 

    下面以实例演示如何使用automake等生成Makefile文件。

     main.c

    1  写一个简单的程序,本例写了个简单的计算斐波那契数的程序,有三个文件组成:main.c,fib.c,fib.h,代码如下:

     main.c

    1 #include

    2 #include"fib.h"

    3 int main()

    4 {

    5 int n=0;

    6 printf("input n=\n");

    7 scanf("%d",&n);

    8 printf("fib(%d=%d\n",n,fib(n));

    10 return 0;

    11 }

    fib.h

    int fib(int n);

    fib.c

    1 #include"fib.h"

    2 int fib(int n)

    3 {

    4 if(n==0)

    5 return 0;

    6 if(n==1||n==2)

    7 return 1;

    8 return fib(n-1)+fib(n-2);

    9 }

    新建上述三个文件:mkdir main.c  fib.h fib.c 

    查看命令:ls 

    使用autoscan 生成configure.scan文件,将其命名为configure.ac,并做适当修改。如下:

    configure.scan内容如下:

    修改configure.ac内容如下:

    AC_INIT()中分别应填程序的名字,版本,和作者的联系方式(一般是邮箱)

    添加一行AM_INIT_AUTOMAKE(),参数添加程序名字,版本号

    最后AC_OUTPUT()生成的文件。

    3. 使用aclocal工具生成aclocal.m4

    4使用autoconf工具生成configure文件

    5 使用autoheader使用config.h.in文件

    6用vi生成一个空文件Makefile.am, 并编辑如下三项。

    第一项:软件等级,有三个候选项:foreign,gnu,gnits

    第二项:生成的可执行文件名

    第三项:生成可执行文件所需要的原始文件,有多个文件时用空格隔开,如本例:

    7  使用automake生成Makefile.in文件,内容如下:

    8  运行configure配置生成最终的Makefile文件

    9  使用Makefile编译,运行程序

    还可以将代码打包发布:

    这些命令功能强大,很多参数的意思这里没列出来,可以查阅相关书籍和手册。本文旨在展示整个过程,和最常用到的参数。以后写程序特别是文件较多时是不是方便了很多?

    相关文章

      网友评论

        本文标题:使用automake等命令自动生成Makefile文件

        本文链接:https://www.haomeiwen.com/subject/djhsvqtx.html