automake

原创 2006年05月26日 16:40:00
下面举个例子,说明多目录下的automake的写法

1.编写代码
方便起见, 根目录下建hello文件夹
mkdir /hello
mkdir /hello/src
mkdir /hello/operation

vi /hello/operation/operation.h
vi /hello/operation/operation.c
vi /hello/src/main.c // main里面调用operation的函数

2.生成 configure.in
cd /hello
touch configure.ac
autoscan

这个时候 ls 可见如下
autom4te.cache autoscan.log configure.ac configure.scan operation src
其中的configure.ac是多余的, rm configure.ac
mv configure.scan configure.in

3.编写 /hello/configure.in

# configure.in
AC_PREREQ(2.59)
AC_INIT(configure.in)
AM_INIT_AUTOMAKE(hello, 1.0)

# Checks for programs.
AC_PROG_CC
AC_PROG_RANLIB
# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.
AC_OUTPUT([
Makefile
operation/Makefile
src/Makefile
])
#end of configure.in

这样就可以了.
如果.c文件里面要添加链接库,比如pthead,则添加
AC_CHECK_LIB(pthead, pthread_create)
诸如AC_CHECK....等含义,大致可以由名字看出来,具体的用时再查资料

4. 生成 configure
aclocal
autoconf

5. 写 Makefile.am
5.1 vi /hello/Makefile.am

#/hello/Makefie.am

SUBDIRS = function test1 sub

#end of Makefile.am

5.2 vi /hello/src/Makefile.am

#/hello/src/Makefile.am

bin_PROGRAMS = hello
hello_SOURCES = main.c
hello_LDADD = $(top_builddir)/operation/liboper.a

#end of Makefile.am

5.3 vi /hello/operation/operation.am

#/hello/operation/Makefile.am

noinst_LIBRARIES = liboper.a
liboper_a_SOURCES = operation.c
liboper_a_LIBADD = @LIBOBJS@

#end of Makefile.am

6. 生成 Makefile
cd /hello
automake --add-missing
如果出现 warning ,提示缺文件, touch 出来即可,比如 AUTHOR

7. 编译.运行

./configure
make
./src/hello
8. 其他

make install 安装到bin下,注意前面是 bin_PROGRAMS
make dist 生成tar.gz包
make distclean 清除所有.a .o等

automake-1.12.5.tar.xz

  • 2015年08月06日 17:27
  • 1.32MB
  • 下载

automake工具链使用

  • 2012年10月17日 12:20
  • 272KB
  • 下载

automake自动生成makefile文件

Linux下编程时,为了方便编译,往往使用Makefile文件自动完成编译,但是Makefile文件本身的书写十分复杂,规则很多。好在Linux为我们提供了自动生成功能完善的Makefile文件的工具...

automake autotool

  • 2015年04月16日 21:43
  • 874KB
  • 下载

automake示例

  • 2013年12月16日 15:15
  • 158KB
  • 下载

从源码安装automake

原因:automake版本老了,所以安装个新的。 OS:Centos6.6 步骤: 1 下载(autoconf是automake的依赖,所以一起下载) [root@zsc65 z]# wget ftp...

GNU.Autoconf.Automake.and.Libtool.2000

  • 2009年06月24日 09:58
  • 621KB
  • 下载

Autoconf/Automake工具组简介

  • 2010年01月07日 09:34
  • 90KB
  • 下载

automake/autoconf打包简单实例

本文将简单介绍为一个简单项目制作自动生成makefile文件的方法。        项目描述:        项目目录如下所示:               该项目中一个源文件用来生成库文件,两外两...
  • qqsj110
  • qqsj110
  • 2014年02月24日 23:46
  • 899

automake help

  • 2007年12月28日 10:46
  • 220KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:automake
举报原因:
原因补充:

(最多只允许输入30个字)