%% Onno Garms <[EMAIL PROTECTED]> writes: og> I think I've found a bug in gnu make.
Not a bug in make. og> The bug occurs when using computed variable names together with og> call. I expected gmake to echo "b" twice in the last og> command. However it echoed an empty string and "b". og> Computed variable names like in test1 seem not to work together og> with call while the workarround in test2 works. og> a = b og> test1 = $($(1)) og> test2 = $($(shell echo $(1))) og> @echo $(call test1, a) og> @echo $(call test2, a) The problem is with the extra whitespace you have before "a". Whitespace _is_ significant within function arguments: it is preserved by make. The only whitespace inside functions which is discarded is the space(s) between the function name and the first argument. Most of the time extra whitespace doesn't hurt anything, but in this case you are using the value of "a" as a variable name. While you have defined a variable "a", you have not defined a variable " a". The first call expands this way where $(1) is set to " a": $($(1)) -> $( a) -> [empty; no such variable " a"] The second one works because the shell ignores the extra whitespace for you: $($(shell echo $(1))) -> $($(shell echo a)) -> $(a) -> b Change your call line like this: @echo $(call test1,a) and it will work. -- ------------------------------------------------------------------------------- Paul D. Smith <[EMAIL PROTECTED]> Find some GNU make tips at: http://www.gnu.org http://www.paulandlesley.org/gmake/ "Please remain calm...I may be mad, but I am a professional." --Mad Scientist _______________________________________________ Bug-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-make