On Mon, Mar 17, 2025 at 8:12 AM Paul Smith <psm...@gnu.org> wrote: > The question we have think carefully about is what sort of backward- > compatibility issues, if any, we could introduce. Are there situations > where people are relying on the current behavior?
It is possible that someone relies that running 'make all' updates existing order-only prerequisites. It is possible with this patch that a target is rebuilt with out-of-date existing order-only prerequisites. i don't see though, why someone would need to update existing order-only prerequisites. But the users are capable of coming up with something nobody has thought of. > To build target A: > - First try to build all NON-ORDER-ONLY prerequisites > - Compare the modification time of all NON-ORDER-ONLY prerequisites > - If any NON-ORDER-ONLY prerequisite is newer than A: > - Try to build all ORDER-ONLY prerequisites > - Run the recipe to build A The patch in attachment is slightly different. The patch causes make to never update existing order-only prerequisites. To summarise the existing behavior is existing order-only are always considered. the patch's behavior is existing order-only are never considered. the behavior described by Paul above existing order-only are only considered if some regular prerequisite causes the target to be rebuilt. My opinion is that this change (if introduced) does not warrant an option. regards, Dmitry