Chinaunix首页 | 论坛 | 博客
  • 博客访问: 373586
  • 博文数量: 53
  • 博客积分: 1411
  • 博客等级: 上尉
  • 技术积分: 701
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 14:40
文章分类

全部博文(53)

文章存档

2011年(6)

2010年(20)

2009年(18)

2008年(9)

我的朋友

分类: LINUX

2010-03-03 13:54:06

     在前文《简单工程Makefile的自动生成》中,我们详细讲解了使用automake工具来生成工程Makefile的过程。

具体可参见:http://blog.chinaunix.net/u2/84258/showart_1830402.html



    下面我们就使用过程中需要注意的一些细节和技巧,做一个简单的总结。

1.编译生成可以安装的静态库。
lib_LIBRARIES = libtest.a
libtest_a_SOURCE = ./src/test.c \
                   ./src/test.h



2.编译生成可以安装的动态库。

lib_LTLIBRARIES = libtest.la
libtest_la_SOURCE = ./src/test.c \


3.指定要发布的头文件

include_HEADERS = ./include/test.h
或者
pkginclude_HEADERS = ./include/test.h

NOTE:如果定义在include_HEADERS, 将来test.h头文件会安装在路径 $(includedir)下,默认为/usr/include/,
如果定义在pkginclude_HEADERS,将来test.h头文件会安装在路径 $(pkgincludedir)下,默认为/usr/include/test/,

当然,可以在Makefile.am中自定义includedir和pkgincludedir。


4.打包额外的文件

EXTRA_DIST = ./extra_data/mytest.data

make dist,可以打包进pkg中



5.添加额外的库

data_DATA = ./extra_lib/libmylib.so

make install,会将库libmylib.so安装进入$(datadir)路径下。

automake还允许自定义安装路径和文件,如下:

mylibdir = $(datadir)/mylib
mylib_DATA = ./extra_lib/libmylib.so



附录:

1 默认的路径定义如下

prefix /usr/local
exec_prefix ${prefix}
bindir ${exec_prefix}/bin
libdir ${exec_prefix}/lib
pkglibdir $(libdir)/$(PACKAGE)
. . .
includedir ${prefix}/include
pkgincludedir ${includedir}
datarootdir ${prefix}/share
datadir ${datarootdir}
mandir ${datarootdir}/man
infodir ${datarootdir}/info
docdir ${datarootdir}/doc/${PACKAGE}



2 automake中文手册



3 automake 英文文档

文件: automake.pdf
大小: 1109KB
下载: 下载







阅读(1568) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~