Hi All,

I had a simple makefile (code given below) which used to execute a
perl command. It used to work fine with GNU Make 3.80.

/****************** Makefile Contents [Failure with v3.81]   ******************/

target:
        echo "building"
        perl -e {'$$irobj_str=undef; @a = `ls *`; \
         {foreach (@a) { chomp; $$irobj_str .= "$_ "; }}
substr($$irobj_str, -1) = ""; \
        `echo "hi"`;'}

/***********************************************************/

It gives the following error with GNU Make 3.81:

/******************* E R R O R ****************/
perl -e {'$irobj_str=undef; @a = `ls *`; \
         {foreach (@a) { chomp; $irobj_str .= "/_TOOLS_/wrap/bin/make
"; }} substr($irobj_str, -1) = ""; \
        `echo "hi"`;'}
syntax error at -e line 2, near "{foreach "
syntax error at -e line 2, near "}}"

/*********************************************/

With a small change (combining 1st and 2nd line of perl command), the
script runs properly.

/****************** Makefile Contents [PASS with v3.81]   ******************/

target:
        echo "building"
        perl -e {'$$irobj_str=undef; @a = `ls *`;  {foreach (@a) {
chomp; $$irobj_str .= "$_ "; }} substr($$irobj_str, -1) = ""; \
        `echo "hi"`;'}

/***********************************************************/

Can any one point out the reason for that error message?

Thanks in advance for the help.

Regards,
Rohit

_______________________________________________
Help-make mailing list
Help-make@gnu.org
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to