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/

/Erik

Reply via email to