Hallo Jörg, all,

Joerg Schilling wrote in
 <20210825152559.ctbfz%sch...@schily.net>:
 |"Steffen Nurpmeso via austin-group-l at The Open Group" <austin-group-l@\
 |opengroup.org> wrote:
 |> Now it has to be said, GNU make supports an immense number of
 |> special cases, pattern expansions etc., and this makes me wonder
 |> whether the standard says anything to this.
 |> Because, _if_ the standard would allow
 |> 
 |>   FOO = .WAIT
 |>   BAR: a $(FOO) b
 |> 
 |> then -- i have not yet really looked into that -- it seems GNU
 |> make uses "double expansion" and the above approach would possibly
 |> no longer work because.
 |> Is there wording in the standard that this is allowed?  Is this
 |> desirable?  Shall there be words that forbid such usage of .WAIT,
 |> or any other special target?  For example, in GNU make, i see
 |
 |We discussed this in the teleconference and since I am using that feature \
 |in 
 |the schily makefile system, I expect this to work and I believe that our 
 |current wording requires it.
 |
 |The background is that make, while parsing
 |
 | BAR: a $(FOO) b
 |
 |immediately expands $(FOO) in the reader, before the rest of the parser \
 |can 
 |see it.

Well i hope so *indeed*!!

Tomorrow i have time and will look into GNU make more thoroughly;
if it *that* way, then i think the even better approach would be
to just use a hash map -- there is hash stuff available! -- of all
dependencies <-> targets which require waiting, and do not fiddle
around with structures etc. at all!  ..Under the premise that
file-wide target names are unique this should work!

Thus the solution to implement .WAIT: for GNU make would be very,
very simple, just adapt split_prereqs() and set a global hashmap
of dependencies which require waiting, and in new_job() look up
whether the "file" name is a member of that hashmap!  That easy it
could be in the end!!  (And i am hoping for it ;) (And of course
we would need to ensure that inter-dependencies are created, to
enable the usual dependency mechanism to spring into existence.)

Thanks Jörg.
Ciao,

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

  • [1003.1(2016... Austin Group Bug Tracker via austin-group-l at The Open Group
  • [1003.1(2016... Austin Group Bug Tracker via austin-group-l at The Open Group
  • [1003.1(2016... Austin Group Bug Tracker via austin-group-l at The Open Group
    • Re: [10... Steffen Nurpmeso via austin-group-l at The Open Group
      • Re:... Paul Smith via austin-group-l at The Open Group
        • ... Steffen Nurpmeso via austin-group-l at The Open Group
          • ... Steffen Nurpmeso via austin-group-l at The Open Group
            • ... Steffen Nurpmeso via austin-group-l at The Open Group
          • ... Steffen Nurpmeso via austin-group-l at The Open Group
            • ... Joerg Schilling via austin-group-l at The Open Group
              • ... Steffen Nurpmeso via austin-group-l at The Open Group
            • ... Steffen Nurpmeso via austin-group-l at The Open Group
              • ... Steffen Nurpmeso via austin-group-l at The Open Group
              • ... Steffen Nurpmeso via austin-group-l at The Open Group
              • ... Paul Smith via austin-group-l at The Open Group
              • ... Steffen Nurpmeso via austin-group-l at The Open Group
  • [1003.1(2016... Austin Group Bug Tracker via austin-group-l at The Open Group
  • [1003.1(2016... Austin Group Bug Tracker via austin-group-l at The Open Group
  • [1003.1(2016... Austin Group Bug Tracker via austin-group-l at The Open Group
  • [1003.1(2016... Austin Group Bug Tracker via austin-group-l at The Open Group
  • [1003.1(2016... Austin Group Bug Tracker via austin-group-l at The Open Group

Reply via email to