---------- Forwarded message ----------
From: *Philip Guenther* <guent...@gmail.com>
Date: Thursday, June 19, 2025
Subject: Re-executing..., when and when not?
To: WaitronCharm <waitronch...@proton.me>


On Thu, Jun 19, 2025 at 2:31 PM WaitronCharm <waitronch...@proton.me> wrote:
>
> Thank you. Yes exactly that happens: 't4' is re-made in the 1st execution
based on a -- by now -- outdated recipe.
>
> And why 'make' does not wait with that for the 2nd execution?
>
> I guess because 't9' is also included and 't9' has 't4' as prerequisite.

It does that because that's how it's defined to behave ("After *all*
makefiles have been checked, if any have actually been changed, `make'
starts with a clean slate and reads all the makefiles over again.",
emphasis mine)

It's a more efficient process to build everything you can in one go,
enabling parallel builds to be more effective.


> Now I need to scratch my head how to resolve this (so far I believed
correct)

IMHO the recipe for rebuilding t4 is not correct because it does not
reflect that it must be run from a make process that has the current
version of t2.  Using a recursive make call fixes the recipe to not
have that implicit dependency.


Philip Guenther

Reply via email to