bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #57751] Improve POSIX support for SCCS


From: Jörg Schilling
Subject: [bug #57751] Improve POSIX support for SCCS
Date: Sat, 7 Nov 2020 22:05:47 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0

Follow-up Comment #14, bug #57751 (project make):

Please read my previous answer...

Any dependency line in e.g. the form:

$(TGT): $(DEPS)

is completely expanded at the time the parser reads the makefile, so in this
example, $(TGT) and $(DEPS) already need to have a value at the time, the
dependency line is read/parsed. So POSIX requires to expand $@ to an empty
string and bmake is clearly in conflict with POSIX.

Special macros only have values at the time, when the update process is
updating a target.

What you like to get is not make syntax and if you believe that the POSIX
standard supports your wish, then the POSIX text should be fixed to become
less ambiguous.

BTW: There is a SunPro Make enhancement (since 1986) that would need to use:

foobar : $$@.blurfl

with the behavior you like but this is not covered by POSIX nor by other make
implementations. well.... except for bmake, that also seems to support it.

Unlike the syntax you reported for bmake, the $$@ syntax is a clean
enhancement to UNIX / POSIX make that is not in conflict with the standard.

See the man page:

 $@    The name of the  current  target.  This  is  the  only
       dynamic  macro whose value is strictly determined when
       used in a dependency list. (In which case it takes the
       form $$@.)


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?57751>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]