首页 > 代码库 > AutoConf自动生成Makefile(基于helloworld简单例子)

AutoConf自动生成Makefile(基于helloworld简单例子)

新建一个简单的helloworld工程文件夹,目录结构如下

技术分享

hello.h代码:

#include<stdio.h>
void fprint()
{
    printf("hello world!\n");
}

hello.c代码:

#include“hello.h”
int main()
{
    fprint();
    return 0;
}

利用AutoConf工具套件来自动生成Makefile

1. 进入helloworld/目录,运行autoscan

技术分享

生成autoscan.log和configure.scan文件

 

2. 修改configure.scan为configure.in,并在其中添加如下语句

11行:  M_INIT_AUTOMAKE(hello,1.0.0)

21行:  AC_OUTPUT(Makefile)

技术分享

 

3. 新建文件 NEWS README ChangeLog AUTHORS

技术分享

 

 4. 运行aclocal命令,产生文件aclocal.m4以及文件夹autom4te.cache/

技术分享

 

5. 运行autoheader,生成config.h.in文件

 

6. 运行autoconf命令,生成configure二进制命令

技术分享

 

7. 新建Makefile.am文件,并在其中添加

bin_PROGRAMS = hello

hello_SOURCES = hello.c hello.h

 

8. 运行automake -a 命令,生成Makefile.in文件

 

9. 运行./configure,生成Makefile

技术分享

 

每一步命令的具体作用,将会在下一篇随笔中记录分析!

 

自我寄语:保持每天学一点,进步一点,只有学习进步才能让无助的自己变得更好更强大!

 

AutoConf自动生成Makefile(基于helloworld简单例子)