5.3 Maintaining Input Files
If you edit any of the GNU Autotools input files in your package, it is
necessary to regenerate the machine generated files for these changes to
take effect. For instance, if you add a new source file to the
foonly_SOURCES variable in `Makefile.am'. It is necessary
to re-generate the derived file `Makefile.in'. If you are building
your package, you need to re-run configure to re-generate the
site-specific `Makefile', and then re-run make to compile
the new source file and link it into `foonly'.
It is possible to regenerate these files by running the required tools,
one at a time. However, as we can see above, it can be difficult to
compute the dependencies--does a particular change require
aclocal to be run? Does a particular change require
autoconf to be run? There are two solutions to this problem.
The first solution is to use the autoreconf command. This
tool regenerates all derived files by re-running all of the necessary
tools in the correct order. It is somewhat of a brute force solution,
but it works very well, particularly if you are not trying to accommodate
other maintainers, or regular maintenance that would render this command
bothersome.
The alternative is Automake's `maintainer mode'. By invoking the
AM_MAINTAINER_MODE macro from `configure.in', automake will
activate an `--enable-maintainer-mode' option in
`configure'. This is explained at length in 8. Bootstrapping.
|