RFR: JDK-8011687: Support correct dependencies from header files on windows and solaris
erik.joelsson at oracle.com
Tue Apr 9 15:05:00 UTC 2013
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.
More information about the build-dev