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
