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.