Automake provides some minimal support for Java compilation with the
JAVA
primary.
Any .java
files listed in a _JAVA
variable will be
compiled with JAVAC
at build time. By default, .class
files are not included in the distribution.
Currently Automake enforces the restriction that only one _JAVA
primary can be used in a given Makefile.am
. The reason for this
restriction is that, in general, it isn't possible to know which
.class
files were generated from which .java
files - so
it would be impossible to know which files to install where. For
instance, a .java
file can define multiple classes; the resulting
.class
file names cannot be predicted without parsing the
.java
file.
There are a few variables which are used when compiling Java sources:
JAVAC
javac
.
JAVACFLAGS
AM_JAVACFLAGS
JAVACFLAGS
, should be used when it is necessary to put Java
compiler flags into Makefile.am
.
JAVAROOT
-d
option to
javac
. It defaults to $(top_builddir)
.
CLASSPATH_ENV
sh
expression which is used to set the
CLASSPATH
environment variable on the javac
command line.
(In the future we will probably handle class path setting differently.)