Make target for compiling java classes only?

Kelly O'Hair Kelly.Ohair at Sun.COM
Thu Jan 10 17:09:56 UTC 2008


Some of the java sources are generated, from Makefile logic. So no you can't
just do a javac `find . -name \*.java`.

But in general, the java compilations and the native compilations are done
together as each part of the jdk areas are built.

The corba, jaxp, jaxws, langtools directories are almost 100% java, and I don't
think need to generate any java code or rely on native code being compiled, but
I'm not 100% sure of that.
But the jdk directory and it's makefiles are the ones that contain the core
java sources, with some generated sources, and the native compilation scattered
all around in it.

Historically in jdk6 and older source bases, the jdk directory (formerly called
"j2se") was built in such a bootstrap way that it was necessary to build all
the native code with the java classes so that the resulting classes could actually
be run during the build.
With jdk7 this need to run what you built during the build has gone away quite a bit
with the creation/separation of the langtools directory.
So it's becoming more possible to separate the build into phases that could be
done to the complete source base, e.g. import_files, prep_tools, generate_source,
compile_java_classes, create_javah_headers, compile_native_code, ... etc.
I have no idea if this will ever happen, but it is now at least possible.

-kto

Roman Kennke wrote:
> Hi there,
> 
> I'm looking for a make target, that compiles only the Java classes of
> OpenJDK. Is there a way to do that? Thanks,
> 
> /Roman
> 




More information about the build-dev mailing list