Re: Order-only prerequisites for emacs documentation

Paul Smith <[email protected]> Thu, 30 Apr 2026 08:05:37 -0400
Newsgroups gmane.comp.gnu.make.general,gmane.emacs.help
Organization GNU's Not UNIX!
Message-ID <[email protected]>
On Wed, 2026-04-29 at 16:26 -0400, [email protected] wrote:
> 2. As the text in the =E2=80=98make=E2=80=99 user manual explains, the
> =C2=A0=C2=A0 reason for the build-only prerequisite is to specify a
> =C2=A0=C2=A0 target/dependency relationship that does not include the
> =C2=A0=C2=A0 time that the prerequisite was updated.=C2=A0 So long as the
> =C2=A0=C2=A0 prerequisite exists, the prerequisite is considered up to
> =C2=A0=C2=A0 date.=C2=A0 If it does not exist, then carry out its recipe/=
rule
> =C2=A0=C2=A0 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.