Re: [cc65] Please critique this makefile

From: Greg King <greg.king41verizon.net>
Date: 2010-04-24 22:01:50
From: "Oliver Schmidt"; on Sat., April 24, 2010; at 08:02 AM -0400
>
>> It's the back-slashes -- they aren't "quoted"! Therefore, "sed" is
>> matching against the letter "t", not the TAB character.
>>
>> "Double" those back-slashes.
>
> Let's see:  The sed command contains an input and output redirection.
> That makes GNU make use a shell to call sed (instead of calling sed
> directly). I thought that the shell wouldn't touch the "\t"s because
> they're enclosed in " ". Where am I missing the point -- and, why does
> it work with Cygwin, as-is?

Hmmm ...; after thinking about it some more, I realize that I accused
the wrong program.  If Make had mis-handled those backslashes, then the
"\(.*\)!\1" wouldn't have worked!  Obviously, it did work; therefore,
the problem must lie in the Sed program, instead.  Cygwin uses GNU Sed;
it knows that "\t" means TAB.  But apparently, the Sed program on
silverdr's machine doesn't know it.
( http://www.grymoire.com/Unix/Sed.html says that "\t" started its life
as a "PERL Regular Expression" extension.)

Therefore, that command must be alterred:
        @sed -e"s!$(<:c=s)!$@!p" -e"s![^:]*:.\(.*\)!\1:!" < $(<:c=u) \
        > $(@:o=d)

----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Sat Apr 24 22:02:10 2010

This archive was generated by hypermail 2.1.8 : 2010-04-24 22:02:12 CEST