Here is part of the Make manual, version 3.82: 8.6 The call Function The call function expands the param arguments before assigning them to temporary variables. This means that variable values containing references to builtin functions that have special expansion rules, like foreach or if, may not work as you expect. Some examples may make this clearer......
map = $(foreach a,$(2),$(call $(1),$(a))) o = $(call map,origin,o map MAKE) and end up with o containing something like ‘file file default’. -------------------------------------------------------------- I have several questions: 1) Where is the example to make that clearer? 2) In the followed example , we have foreach and foreach has a special expansion rule. So the value of the variable map is not what we expect? So what we expected for that? 3) In the sentence, "This means that variable values...", it is talking about the value of a parameter of a Call function? or it is about the value of variable of a Call function.(Call has variable and param, means, $(call variable,param,param,...) ) Regards _______________________________________________ Help-make mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-make
