I believe I understand. The name "order-only" is highly misleading and should be changed - it does considerably more than "only" "order"; the only thing it does not do is check the timestamp. This portion of the documentation
particularly needs changing:
> Occasionally, however, you have a situation where you want to impose
> a specific ordering on the rules to be invoked without forcing the
> target to be updated if one of those rules is executed. In that case,
> you want to define order-only prerequisites.
The natural reading of this strongly implies that an order-only prerequisite literally only affects the order of things. I would suggest
> Occasionally, however, you have a situation where you do not want to
> force the target to be updated if a rule is executed, but you do want to
> ensure that rule is executed before the target every time the target is
> built. In that case, you want to define order-only prerequisites.
Thanks,
Jacob