an example of using automake (jconv project).
$ cd jconv
$ autoscan
$ mv configure.scan configure.in
edit configure.in file
$ cat configure.in
========== File configure.in ==========
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.57)
AC_INIT(jconv, 0.1.0, fishchenATgmail.com)
AM_INIT_AUTOMAKE(jconv, 0.1.0)
AC_CONFIG_SRCDIR([jconv.h])
#AC_CONFIG_HEADER([config.h])
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
AC_PROG_RANLIB
AM_PROG_LIBTOOL
#AC_PROG_LIBTOOL
# Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([stdlib.h string.h unistd.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T
# Checks for library functions.
AC_CHECK_FUNCS([memset strerror])
#AC_OUTPUT
AC_OUTPUT(Makefile)
========== End ==========
$ aclocal
$ autoconf
edit Makefile.am file
$ cat Makefile.am
========== File Makefile.am ==========
AUTOMAKE_OPTIONS=gnu # Flavor: gnu/gnits/foreign/cygnus
#AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=jconv
include_HEADERS=jconv.h
lib_LIBRARIES=libjconv.a
lib_LTLIBRARIES=libjconv.la
jconv_SOURCES=jconv_bin.c jconv.c jconv.h jconv_table.h
libjconv_a_SOURCES=jconv.c jconv.h jconv_table.h
libjconv_la_SOURCES=jconv.c jconv.h jconv_table.h
libjconv_la_LDFLAGS = -version-info 1:0:1 # -version-info C:R:A (5:30:1) libxxx.(C-A).A.R (5-1.1.30) = 4.1.30
========== End ==========
$ libtoolize --automake
$ automake --add-missing
add missing file following automake.
finish.
本文给出了使用automake的示例,以jconv项目为例,详细展示了从autoscan开始,编辑configure.in文件、Makefile.am文件,再到执行aclocal、autoconf等一系列操作的过程,还涉及了对程序、库、头文件等的检查及相关配置。
1883

被折叠的 条评论
为什么被折叠?



