On Wed, 2026-04-29 at 16:26 -0400, [email protected] wrote: > 2. As the text in the ‘make’ user manual explains, the > reason for the build-only prerequisite is to specify a > target/dependency relationship that does not include the > time that the prerequisite was updated. So long as the > prerequisite exists, the prerequisite is considered up to > date. If it does not exist, then carry out its recipe/rule > for creating it.
This is not quite exactly right. Or maybe, it's just missing some detail. An order-only prerequisite OO of target TT is handled exactly the same way that a normal prerequisite is: if OO is out of date based on the prerequisites of OO then OO is updated, otherwise it's not. The only difference is that after all that, the modification time of the order-only prerequisite OO is not considered when deciding whether the target TT is out of date or not.
