(automake-1.16.info)Java


Next: Python Prev: Libtool Up: Other GNU Tools
Enter node , (file) or (file)node

10.4 Java bytecode compilation (deprecated)
===========================================

Automake provides some minimal support for Java bytecode compilation
with the ‘JAVA’ primary (in addition to the support for compiling Java
to native machine code; Note: Java Support with gcj).  Note however
that _the interface and most features described here are deprecated_.
Future Automake releases will strive to provide a better and cleaner
interface, which however _won’t be backward-compatible_; the present
interface will probably be removed altogether some time after the
introduction of the new interface (if that ever materializes).  In any
case, the current ‘JAVA’ primary features are frozen and will no longer
be developed, not even to take bug fixes.

   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 (Note: User Variables).

‘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 a shell 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.)


automatically generated by info2www version 1.2.2.9