Thanks Mr. Smith for the answer however I have two questions: 1) According to the manual, "If variable is the name of a builtin function, the builtin function is always invoked ". So why in the cited example when we have: var2=$(call $(call var1),pp) Our variable here is $(call var1) and it is a built in function. Why it is not called? so: var2=$(call kk,pp) var2=pp00
2) if $(call var1)=aba is considered, so: var2=$(call aba, pp) var2=pp11 Why var2=aba? why aba function is not called with its $(1)=pp? Regards On Mon, Jun 13, 2011 at 1:07 AM, Paul Smith <[email protected]> wrote: > On Sat, 2011-06-11 at 14:49 +0430, ali hagigat wrote: >> In the following example with make, 3.81 why var2 is aba? >> >> kk=$(1)00 >> aba=$(1)11 >> var1=kk >> $(call var1)=aba >> var2=$(call $(call var1),pp) >> all: ; >> $(warning var2=$(var2)) >> >> makefile27:7: var2=aba > > Because you have "$(call var1)=aba" and $(call var1) expands kk, so this > statement expands to "kk=aba". > > -- > ------------------------------------------------------------------------------- > Paul D. Smith <[email protected]> Find some GNU make tips at: > http://www.gnu.org http://make.mad-scientist.net > "Please remain calm...I may be mad, but I am a professional." --Mad Scientist > > _______________________________________________ Help-make mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-make
