[GRASS-dev] Re: [GRASS GIS] #1191: make install gives sed error in r43810

GRASS GIS trac at osgeo.org
Thu Oct 7 04:59:34 EDT 2010


#1191: make install gives sed error in r43810
--------------------------+-------------------------------------------------
 Reporter:  cgsbob        |       Owner:  grass-dev@…              
     Type:  defect        |      Status:  new                      
 Priority:  normal        |   Milestone:  6.5.0                    
Component:  Installation  |     Version:  svn-develbranch6         
 Keywords:  Makefile      |    Platform:  All                      
      Cpu:  All           |  
--------------------------+-------------------------------------------------

Comment(by glynn):

 Replying to [comment:3 hamish]:

 > > I'm fairly sure that "$#" should just be "#".

 My mistake; you meant a literal $ as the EOL marker in a regexp, right? In
 which case, use "$$":

 {{{
 -sed -i -e 's#/tools/g.html2man/g.html2man$$#...
 }}}

 > Makefile quoting/expansion rules different from Bourne shell ones?

 Yes. make doesn't have '''any''' quoting rules. Anything involving a $
 will be expanded somehow, wherever it occurs. Normal variables (and
 function calls) use $(...) or ${...}. A "$" followed by any of `@%<?^+|*`
 is an automatic variable, set based upon a rule's target and/or
 prerequisites. "$$" evaluates to a literal "$". A "$" followed by anything
 else evaluates to the empty string.

 After such substitutions, each command is passed directly to the shell,
 including any quotes, so the quotes should be whatever the shell itself
 requires. Quotes in a command have no effect upon the substitutions
 performed by make.

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/1191#comment:4>
GRASS GIS <http://grass.osgeo.org>



More information about the grass-dev mailing list