On Mon, Aug 3, 2009 at 2:22 AM, Glenn Coombs<[email protected]> wrote:
...
> You're quite right and your solution above is indeed the sensible way to
> write it :-) However, I'd just been reading about the new features added in
> make 3.81 and was experimenting.
Well, be careful: $(eval) is great for removing fingers. For example,
the value being assigned to CHIPNAME in this:
$(eval CHIPNAME := $(shell echo $* | tr a-z A-Z))
has expansion performed on it twice. That almost certainly isn't a
problem in this case, but if you overlook it here
then you might not remember it when it does matter. That line would
be better written, IMO, as:
$(eval CHIPNAME := $$(shell echo $$* | tr a-z A-Z))
> Still, having make throw a segmentation fault is bad so I figured it was
> worth reporting the issue so that the problem could be fixed. After all,
> the next person to run into the same bug might not be using such a simple
> makefile with easy alternatives.
Sure.
Philip Guenther
_______________________________________________
Bug-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-make