Next: Python, Previous: Libtool, Up: Other GNU Tools
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, .java
files are not included in the distribution, you should use the
dist_
prefix to distribute them.
Here is a typical setup for distributing .java files and installing the .class files resulting from their compilation.
javadir = $(datadir)/java dist_java_JAVA = a.java b.java ...
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 that are used when compiling Java sources:
JAVAC
JAVACFLAGS
AM_JAVACFLAGS
JAVACFLAGS
, should be used when it is necessary to put Java
compiler flags into Makefile.am.
JAVAROOT
javac
. It defaults to ‘$(top_builddir)’.
CLASSPATH_ENV
sh
expression that is used to set the
CLASSPATH environment variable on the javac
command line.
(In the future we will probably handle class path setting differently.)