On 2011-03-14 12:32Z, ali hagigat wrote:
>> On Mon, Mar 14, 2011 at 3:17 PM, Paul Smith <[email protected]> wrote:
>>> On Mon, 2011-03-14 at 14:20 +0330, ali hagigat wrote:
>>>> I tested make 3.81 with:
>>>> var1=1111
>>>> e12:
>>>>       @echo $(eval $(call var1))
>>>>
>>>> /root/makefiles_examples> make -f makefile23
>>>> makefile23:3: *** missing separator.  Stop.
>>>
>>> Correct. "1111" is not a legal makefile line.
>
> But why 1111 is not a legal makefile line? Please consider this:
> var1=1111
> e12:
>       echo $(call var1)
> /root/makefiles_examples> make -f makefile23
> echo 1111
> 1111

"var1=1111" is a legal makefile line, but "1111" is not:

$cat Makefile
1111
$make
Makefile:1: *** missing separator.  Stop.

In your makefiles, "$(call var1)" expands $(var1) to its value, "1111".
You can do this:
  echo 1111
but you cannot do this:
  $(eval 1111)
because "1111" is not a legal makefile line.

_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to