Geoff Clare wrote, on 04 Nov 2020:
>
> > > If a target rule or inference rule for the pathname has been parsed
> > > before the include line is parsed, make shall use the rule to attempt
> > > to create the file or to bring it up-to-date.
> > 
> > I don't think this is quite correct.  In GNU make, anyway, it's not
> > required that an inference rule parsed before the include line is parsed
> > will always be used.  If a target rule, or a different inference rule, is
> > defined after the include line then that will be used instead.
> 
> I see your point.  I was trying to find a way to make an initial single
> statement that was true for both methods, but maybe that's not possible.
> The text may need to separate the two descriptions entirely. I'll give
> it some more thought.

I haven't been able to come up with a common initial statement that is
preferable to just describing the two methods separately. So unless
someone else wants to give it a go, I suggest that I should restructure
that part along these lines:

    The <i>make</i> utility shall use one of the following two methods
    to attempt to create the file or bring it up-to-date:

    1. The "immediate remaking" method

        If <i>make</i> uses this method, any target rules or inference
        rules for the pathname that were parsed before the include line
        was parsed shall be used to attempt to create the file or to
        bring it up-to-date before opening the file.

    2. The "delayed remaking" method

        If <i>make</i> uses this method, no attempt shall be made to
        create the file or bring it up-to-date until after the
        makefile(s) have been read.  During processing of the include
        line, <i>make</i> shall read the current contents of the file,
        if it exists, or treat it as an empty file if it does not exist.
        Once the makefile(s) have been read, <i>make</i> shall use any
        applicable target rule or inference rule for the pathname,
        regardless of whether it is parsed before or after the include
        line, when creating the file or bringing it up-to-date. 
        Additionally in this case, [...]

    If the pathname is relative, [...]

-- 
Geoff Clare <g.cl...@opengroup.org>
The Open Group, Apex Plaza, Forbury Road, Reading, RG1 1AX, England

  • [Issue 8 dra... Austin Group Bug Tracker via austin-group-l at The Open Group
  • [Issue 8 dra... Austin Group Bug Tracker via austin-group-l at The Open Group
  • [Issue 8 dra... Austin Group Bug Tracker via austin-group-l at The Open Group
  • [Issue 8 dra... Austin Group Bug Tracker via austin-group-l at The Open Group
  • [Issue 8 dra... Austin Group Bug Tracker via austin-group-l at The Open Group
  • [Issue 8 dra... Austin Group Bug Tracker via austin-group-l at The Open Group
  • [Issue 8 dra... Austin Group Bug Tracker via austin-group-l at The Open Group
  • [Issue 8 dra... Austin Group Bug Tracker via austin-group-l at The Open Group
  • [Issue 8 dra... Austin Group Bug Tracker via austin-group-l at The Open Group
    • Re: [Is... Geoff Clare via austin-group-l at The Open Group
      • Re:... Geoff Clare via austin-group-l at The Open Group
        • ... Paul Smith via austin-group-l at The Open Group
        • ... Joerg Schilling via austin-group-l at The Open Group
          • ... Geoff Clare via austin-group-l at The Open Group
      • Re:... Paul Smith via austin-group-l at The Open Group
        • ... Geoff Clare via austin-group-l at The Open Group
          • ... Paul Smith via austin-group-l at The Open Group
            • ... Geoff Clare via austin-group-l at The Open Group
              • ... Paul Smith via austin-group-l at The Open Group
  • [Issue 8 dra... Austin Group Bug Tracker via austin-group-l at The Open Group
  • [Issue 8 dra... Austin Group Bug Tracker via austin-group-l at The Open Group

Reply via email to