Hi Greg, > 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. That makes indeed much more sense to me. > 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.) Okay... > Therefore, that command must be alterred: > @sed -e"s!$(<:c=s)!$@!p" -e"s![^:]*:.\(.*\)!\1:!" < $(<:c=u) \ > > $(@:o=d) Thanks :-) Two remarks 1. The non-fluent sed readers might be interested to know that the code above reads up to the ':' (known to just preceed the tab) and than a single char whatever it may be. 2. While $(<:c=s) (and the other two substitution references) certainly works I intentionally prefer including the '.' like this $(<:.c=.s) as it nicely resembles the file name extensions in the rule (making it easier to understand) and is the style used in the GNU Make Manual: http://www.gnu.org/software/make/manual/make.html#Advanced Regards, Oliver ---------------------------------------------------------------------- To unsubscribe from the list send mail to majordomo@musoftware.de with the string "unsubscribe cc65" in the body(!) of the mail.Received on Sun Apr 25 00:26:46 2010
This archive was generated by hypermail 2.1.8 : 2010-04-25 00:26:49 CEST