%% Faheem Mitha <[EMAIL PROTECTED]> writes:

  fm> MAKEFLAGS="CC=gcc-3.0 PKG_CFLAGS= -Wall -pedantic" R CMD SHLIB rc.c -o rc.so

  fm> does not work fine. Make throws a fit and spews forth gibberish.

Make is interpreting the -Wall and -pedantic as lists of make options,
rather than as the value of PKG_CFLAGS, which is entirely correct given
that command string.

  fm> My understanding of MAKEFLAGS is that it is for passing flags to some
  fm> submake process, in this case R CMD SHLIB. The documentation (make
  fm> manual) says that

  fm> "Words in the value of `MAKEFLAGS' that contain `=', `make' treats as
  fm> variable definitions just as if they appeared on the command line."

  fm> However, there seems to be a problem when the variable definition
  fm> contains blanks, as PKG_CFLAGS does above.

That's because the ''PKG_CFLAGS= -Wall -pedantic'' above is not _one_
word containing an =, it's three words, only the first of which contains
an =.  So only the first word is considered to be a variable definition.

  fm> Can anyone advise on what is the correct syntax for this?

The simplest solution is to use backslashes to quote the spaces:

 MAKEFLAGS='CC=gcc-3.0 PKG_CFLAGS=\ -Wall\ -pedantic' R CMD SHLIB rc.c -o rc.so

will work (note the change to single quotes: if you must use double
quotes you'll have to type two backslashes to get one--see the
documentation for your shell).

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[EMAIL PROTECTED]>          Find some GNU make tips at:
 http://www.gnu.org                      http://www.paulandlesley.org/gmake/
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist

_______________________________________________
Help-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/help-make

Reply via email to