bug-make
[Top][All Lists]
Advanced

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

Re: Only one pattern-specific variable assignment per target?


From: Jonathan Kamens
Subject: Re: Only one pattern-specific variable assignment per target?
Date: Tue, 6 Nov 2001 10:07:57 -0500

A while back, I sent you a patch to make multiple pattern-specific
variable assignments for a target work in Make 3.79.1.

Alas, we've found another problem with pattern-specific variable
assignments in 3.79.1 that is independent of my fix and that I don't
have time to debug right now.  If you put this into a Makefile:

  a.b:
          echo $(RULE)

  RULE = $(basename $@)

  # This line causes "$@" in the first part of "RULE" to be "undefined".
  a.b: RULE += oops

And run "make" on it, it'll echo "oops" when it should echo "a oops".
It appears that the "$(basename $@)" is being expanded too early.

This doesn't happen in 3.78.1.

I know that in 3.79.1, the implementation of pattern-specific variable
assignments was changed, such that they are now expanded differently
than they were before (and, I believe, at a different time in the Make
process).  I wonder if perhaps the new implementation is problematic
and should be reverted to the old one (which I suspect was replaced
because the new one is faster, but slower, correct functionality is
better than faster, buggy functionality :-).

If you do decide to revert the implementation to how it was done in
3.78.1, note that I also submitted a patch against 3.78.1 to make
multiple pattern-specific variable assignments work.

  Jonathan Kamens

P.S. It would be nice if bug reports about Make were acknowledged in
some way.

P.P.S. Is address@hidden archived anywhere?  Is there a newsgroup
associated with it?  I couldn't find one in Google groups.



reply via email to

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