[GRASS-dev] GRASS 6.4.2RC1 planning

Hamish hamish_b at yahoo.com
Wed Sep 28 18:35:54 EDT 2011


Hamish wrote:
> > This looks like it will fail if there are spaces in
> > the path names:
[...]
Glynn wrote:
> Single quotes:
> 
> make MODULE_TOPDIR="$GISBASE" \
>    ARCH_INC="'-I$GISBASE/include'
> '-I${MYINST_DIR}/include' '-I$TMPDIR/$DIST_DIR/include'" \
>    ARCH_LIBPATH="'-L$GISBASE/lib'
> '-L${MYINST_DIR}/lib' '-L$TMPDIR/$DIST_DIR/lib'" \
> 
> This approach will work so long as the variable is only
> used within commands. The value (which doesn't include the
> outer-most double quotes) will be substituted verbatim
> (including the single quotes) into the command which is passed
> to the shell.

thanks, applied in devbr6, ...

> Make itself doesn't have any quoting mechanism, so you can't
> have spaces in any path which is used as part of a target or
> prerequisite, or an "include" directive, or which is processed
> by make functions (patsubst, wildcard, etc).

as there will be spaces in both the C:\Program Files\ for the
grass include headers and C:\Documents and Settings\ for the
build ($MAPSET/.tmp/) + install target, I guess for wingrass
in cases where the default path names have been used the best we
can do is to ensure that when it fails, it fails gracefully.


Hamish



More information about the grass-dev mailing list