**************************************************************************
IMPORTANT NOTE:

- in order to modify the Makefiles and configure.in, you need rather
recent versions of autoconf and automake: autoconf 2.13 and the
automake snapshot available from
http://www.dcc.unicamp.br/~oliva/snapshots/automake/automake-1.4a-dep-20000313.tar.gz
It may still work with automake 1.4, but then you'll need GNU make.
This new automake snapshot does not depend on GNU make at all.

**************************************************************************

Kaffe has adopted GNU automake to ease the maintenance of Makefiles.
Changes were mostly straightforward, and nothing really important has
changed in the build environment.  I could list a few changes here:

- EXTRA_CFLAGS is no longer used; you can now use AM_CFLAGS and
AM_CPPFLAGS.  Prefer the latter for preprocessor definitions such as
-DDEBUG.

- using automake means editing Makefile.am instead of Makefile.in, and
that it will take care of rebuilding autoconf/automake-related files
whenever they become out-of-date, but only if you
--enable-maintainer-mode at configure time.  If not, you'll have to
run "aclocal; automake; autoconf; autoheader -l config" (or just
developers/autogen.sh) manually in the top-level source directory.

- you also have to specify which files should go in a distribution
(make dist): they should either be listed as sources to some binary or
library or be listed in the EXTRA_DIST variable.  In order to avoid
missing some file, you should run `make distcheck' instead of just
`make dist'.  distcheck runs make dist, builds the dist tree and runs
make check on it.

- since automake 1.4 doesn't accept sources from other directories, I
have created some makefiles in subdirectories such as jit, intrp and
system/unix-*.  A special kind of temporary library, called libtool
convenience library, is created to hold files from each of these
directories, and then the convenience library is included in
libkaffevm.  In other cases, such as gc-mem.c, I have preferred to
just create a gc-mem.c forwarder (a file that #includes mem/gc-mem.c)
within kaffe/kaffevm.  If we later decide that it was not a good idea,
it is very easy to create a Makefile.am within kaffevm/mem and create
a convenience library there.

- `make depend' is now implicit, but it only works with gcc and GNU
make.  A distribution file with portable makefiles should be created
with `make dist'

- `make test' is now called `make check', which is much more standard

- I added a new flag, --with-staticvm, to make only the VM library
static.  --with-includes and --with-libraries were also introduced, to
allow the user to specify a list of directories to search for
include-files and libraries.

- you may miss one or other make target that I may have eliminated
from the Makefiles, for example, recursive `make classes' and `make
derived-files'.  It should be straightforward to re-create them within
Makefile.am's, but I'd prefer to avoid these, and create actual
dependencies to ensure that derived files are re-created as needed.

--
oliva
