软讯网络 > 编程语言 > C/C++ > 用Automake生成Makefile一例[经过测试]
【标 题】:用Automake生成Makefile一例[经过测试]
【关键字】:
Automake,Makefile
【来 源】:http://www.cublog.cn/u/13329/showart.php?id=245439
用Automake生成Makefile一例[经过测试]

1)gethtml_debug目录结构
./
|-- src
|-- gethtml.c
|-- my_pthread.h
|-- my_var_args.h
|-- mysql.h
`-- utils.h
2)在当前目录和src子目录下分别添加Makefile.am
a)[root@localhost]#
cat ./Makefile.am SUBDIRS=src
b)[root@localhost]#
cat ./src/Makefile.am AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=gethtml
gethtml_SOURCES=gethtml.c
INCLUDES=-I /usr/include/mysql
LIBS=-lpthread -L /usr/lib/mysql -lmysqlclient
3)
执行下面命令生成configure.scan文件 [root@localhost]#
autoscan 修改如下configure.scan[root@localhost]#
cat configure.scan AC_PREREQ(2.59) #AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS) AC_INIT(gethtml,1.0,[cnscn@163.com]) AM_INIT_AUTOMAKE ...
[中间部分保留不动]
...
#AC_CONFIG_FILES([Makefile
# src/Makefile])
AC_OUTPUT([Makefile src/Makefile]) 4)[root@localhost]#
cp configure.scan configure.in5)[root@localhost]#
touch NEWS README AUTHORS ChangeLog
6)[root@localhost]#
aclocal7)[root@localhost]#
autoheader8)[root@localhost]#
autoconf9)[root@localhost]#
automake10)[root@localhost]#
automake --add-missing11)[root@localhost]#
./configure --prefix=/usr/local/gethtml12)[root@localhost]#
make; make install13)[root@localhost]#
ls -l /usr/local/gethtml/bin/gethtml -rwxr-xr-x 1 root root 45087 02-09 18:24 /usr/local/gethtml/bin/gethtml