1. 程式人生 > >AutoConf自動生成Makefile(基於helloworld簡單例子)

AutoConf自動生成Makefile(基於helloworld簡單例子)

programs tom change col -a 二進制 自己 int 生成

新建一個簡單的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簡單例子)