`automake' can generate a Makefile.in that does not fit `configure' if the version of Autoconf it uses to trace `configure.ac' differs from the version used to generate `configure'.
Suppose you'll unpack and configure a software distribution bootstrapped with Autoconf 2.60 and Automake 1.9.6. You have Autoconf 2.59 and Automake 1.9.6 installed. You edit some `Makefile.am', and the Automake-supplied rule calls `automake' and `config.status' to regenerate `Makefile.in' and then `Makefile'. The Autoconf 2.59 used to trace `configure.ac' will not recognize `datarootdir' as a substituted variable, so `Makefile.in' will have no `datarootdir = @datarootdir@'. `configure', generated by a newer Autoconf, will substitute `datadir = ${datarootdir}', yielding an empty `$(datadir)' in makefiles. Is there something reasonable that we can do to prevent or diagnose this situation? Something like [1] is an option, though not too pleasing. [1] http://lists.gnu.org/archive/html/bug-autoconf/2005-03/msg00027.html