On Tue, 6 Sep 2022 13:19:48 GMT, Erik Joelsson <er...@openjdk.org> wrote:

>> Right, I confused `$?` and `$+`. You are of course correct, this is the way 
>> to get the changed targets. I had a bit of bad luck when I though about 
>> this. 😄  (Theoretically, we could filter out anything that is not in 
>> `$1_SRCS` from `$?` but that seems to more work than is reasonable.)
>
>> The `Depend` plugin will do a full build if a non-Java file is present in 
>> the list, which I hope should lead to a more reliable recompilation for some 
>> complex changes among the sources.
> 
> Ah, I had missed that and that's clever! That also means there is a reason to 
> generate MODFILES in the actual compile recipe instead of the separate rule 
> as I suggested earlier. For this to be "safe" we need `$$?` to really contain 
> all the updated prereqs, otherwise we may miss compiling everything when 
> something external actually should make us do just that.

... and also that we *must* include the vardeps file, since any change there 
should trigger a complete rebuild.

The logic here seems correct, but apparently somewhat hard to fully understand 
correctly. Maybe a few lines of comments summarizing the important points 
raised here would be a good thing?

-------------

PR: https://git.openjdk.org/jdk/pull/10104

Reply via email to