您的位置:首页 > 其它

学习使用AutoMake1.9的自动生成工程文件(三)——层叠型加引用静态库工程实践过程

2007-10-23 17:30 465 查看
经过本人不懈的努力终于再Mac上面,使用Auto工具完成了自动编译工程

现在记录我编译层叠式工程的过程:

project /
src / 这里是main.cpp
include / 这里是file1.cpp file.h 和 生成 libfile1.a

(1)找到libtool和ltmain.sh


$ >which libtool


/usr/bin/libtool




$ >cd /usr/


$ >find . -name ltmain.sh


/usr/lib/php/build/ltmain.sh


/usr/share/libtool/libltdl/ltmain.sh


/usr/share/libtool/ltmain.sh




$ >cp /usr/share/libtool/ltmain.sh 到你的目录project下面

(2)将AUTHORS、ChangeLog、NEWS、README拷过去。

(3)编写Makefile.am

project下的Makefile.am就一样:SUBDIRS = src include

inlcude下的:


noinst_LIBRARIES = libfile1.a


libfile1_a_SOURCES = file1.h file1.cpp




INCLUDE = -I@top_srcdir@/

src下的:


bin_PROGRAMS = hello


hello_SOURCES = file1.h main.cpp




LDADD = ../include/libfile1.a



(4)$ >autoscan,得到configure.scan之后,修改成:


# -*- Autoconf -*-


# Process this file with autoconf to produce a configure script.




AC_PREREQ(2.61)


AC_INIT(hello, 1.0, aa@163.com)


AC_CONFIG_SRCDIR([src/main.cpp])


AC_CONFIG_HEADER(config.h)


AM_INIT_AUTOMAKE(hello, 1.0)




# Checks for programs.


AC_PROG_CC


AC_PROG_CXX


AC_PROG_INSTALL


AC_PROG_LIBTOOL




# Checks for libraries.




# Checks for header files.




# Checks for typedefs, structures, and compiler characteristics.




# Checks for library functions.




AC_CONFIG_FILES([Makefile


include/Makefile


src/Makefile])


AC_OUTPUT

红色部分自己添加的。

(5)$ > autoheader

(6)$ > autoconf

(7)$ > automake -a
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐