实例解析 Automake 的使用

 根据官方网站的介绍, automake 是一个根据 GNU 代码标准自动生成 Makefile.in文件的工具,个人理解它就是一个自动生成 Makefile 文件的小工具。下面的示例将通过它自动生成Makefile.in,并最终生成可执行文件。

1,首先在tt 上当下建立一个dir1文件夹,在此文件夹下建立四个文件,分别如下:

// code1.h
#include < stdlib.h >
void  foo_a();

// code1.c
#include  " code1.h "
void  foo_a()
{
    printf(
"This is code1. ");
}


// code2.h
#include < stdlib.h >
void  foo_b();

// code2.c
#include  " code1.h "
#include 
" code2.h "
void  foo_b()
{
    printf(
"This is code2. ");
}


int  main()
{
    foo_a();
    foo_b();
}



2,在tt目录下建立configure.in文件(可用autoscan):
#指定项目的一个源文件
AC_INIT(dir1
/ code2.c)

#指定项目名称和版本号
AM_INIT_AUTOMAKE(prog1, 
0.0 . 1 )

#检查编译器
AC_PROG_CC

#输出Makefile文件
AC_OUTPUT(Makefile
 dir1
/ Makefile
)


3,同时建立tt目录下的Makefile.am文件,这个文件很简单,就一句话:

 SUBDIRS=dir1

 

然后建立dir1目录下的Makefile.am文件,这才是真正起作用的Makefile.am文件:

bin_PROGRAMS = prog1
prog1_SOURCES
= code1.c code2.c


4,完成之后,为了方便操作,再写一个autogen.sh文件,保存在tt目录下。

# !/ bin / sh
aclocal

autoconf

automake 
- a

   cd ./dir1

   make


存盘之后,用chmod +x改成可执行文件。然后执行autogen.sh。

 $chmod +x autogen.sh
  $./autogen.sh

 

即可在tt目录下生成configure和makefile文件,同时在dir1目录下也会生成一个makefile文件。进入dir1目录,就可以看到生成的prog1程序。如果再执行make install,prog1将被安装到缺省的/usr/local/bin目录下去。







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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值