Automake maintains three kinds of files in a package.
aclocal.m4 is generated by aclocal
and contains some
Automake-supplied M4 macros. Auxiliary tools are installed by
‘automake --add-missing’ when needed. Makefile.ins are
built from Makefile.am by automake
, and rely on the
definitions of the M4 macros put in aclocal.m4 as well as the
behavior of the auxiliary tools installed.
Because all of these files are closely related, it is important to regenerate all of them when upgrading to a newer Automake release. The usual way to do that is
aclocal # with any option needed (such as -I m4) autoconf automake --add-missing --force-missing
or more conveniently:
autoreconf -vfi
The use of --force-missing ensures that auxiliary tools will be
overridden by new versions (see Creating a Makefile.in: Invoking automake
).
It is important to regenerate all of these files each time Automake is upgraded, even between bug fix releases. For instance, it is not unusual for a bug fix to involve changes to both the rules generated in Makefile.in and the supporting M4 macros copied to aclocal.m4.
Presently automake
is able to diagnose situations where
aclocal.m4 has been generated with another version of
aclocal
. However it never checks whether auxiliary scripts
are up-to-date. In other words, automake
will tell you when
aclocal
needs to be rerun, but it will never diagnose a
missing --force-missing.
Before upgrading to a new major release, it is a good idea to read the file NEWS. This file lists all changes between releases: new features, obsolete constructs, known incompatibility, and workarounds.