| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
10.4 Java
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 The name of the Java compiler. This defaults to ‘javac’.
-
JAVACFLAGS The flags to pass to the compiler. This is considered to be a user variable (see section Variables reserved for the user).
-
AM_JAVACFLAGS More flags to pass to the Java compiler. This, and not
JAVACFLAGS, should be used when it is necessary to put Java compiler flags into ‘Makefile.am’.-
JAVAROOT The value of this variable is passed to the ‘-d’ option to
javac. It defaults to ‘$(top_builddir)’.-
CLASSPATH_ENV This variable is an
shexpression that is used to set theCLASSPATHenvironment variable on thejavaccommand line. (In the future we will probably handle class path setting differently.)
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
