[Top][All Lists]
[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.
- Re: Only one pattern-specific variable assignment per target?,
Jonathan Kamens <=