Erik:
This patch adds workarounds for the way make dependencies are
generated in the Solaris and Windows compilers. What this means is
that if you touch a header file, the relevant c files will be
recompiled as expected.
On Solaris, there is support for generating make dependencies, and it
was used, but the object file is printed with just the filename and no
directory. This works if the makefile is executing in the same
directory as the object file is put in, but this isn't the case in the
new jdk build. A simple sed expression fixes this.
On Windows it's more complicated. Two possible solutions were
available, -showIncludes parameter to the compiler and the utility
makedepends. Having experimented with both, I found the first
alternative easiest to get working all the way with a smaller impact
on makefile complexity. The parameter -showIncludes prints messages
about all included files on stdout (contrary to the documentation)
which are then filtered out to a file and parsed to create a makefile.
http://cr.openjdk.java.net/~erikj/8011687/webrev.01/
common/makefiles/NativeCompilation.gmk has a minor typo ('and and'):
108 # setting -showIncludes, all included files are printed.
These are filtered out and
109 # and parsed into make dependences.
Otherwise looks good. Approved!
Tim