%% "Dill, John" <[EMAIL PROTECTED]> writes:

  dj> What is the intent of writing a 'define' function?

The only real difference between define and = is that a value created by
define can have embedded newline characters, while a value created by =
cannot.

  dj> I have the Mecklenburg book and it appears that you use 'define'
  dj> for writing a shell script which can be called as a makefile
  dj> function,

That's one use, but not the only one (especially in GNU make 3.80, where
the $(eval ...) function is often used with define variables).

  dj> whereas using '=' appears to use more makefile specific
  dj> functionality.  Can someone explain what they use 'define' for
  dj> writing functions vs using '='?

As I said, the only reason to use define is if you want embedded newlines.

  dj> What is the impact of whitespace when using 'define' vs '='?  Any
  dj> whitespace in '=' gets carried to the output,

Not always true, but I know what you mean.

  dj> which has been one of my pet peeves, which ends up making my
  dj> makefile functions difficult to read due to $(...)$(...)$(...) all
  dj> being bunched up rather than on separate lines.  How is whitespace
  dj> expanded when doing $(call) with a function defined from 'define'?

There is no difference whatsoever here.

  dj> I want some of my functions to have a zero whitespace footprint
  dj> since I use them as tab-commands.

I don't follow this: why does using something as a "tab-command" (I
assume you mean in a command script?) require zero whitespace footprint?

  dj> Does that mean I have to $(strip) every single one of my
  dj> functions?

You need to use $(strip ...) where you want to remove extra whitespace,
yes.  I typically use $(strip ...) in the command script itself rather
than in the functions but YMMV.

  dj> If I use 'define' instead, does that gain me anything?

No.

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


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

Reply via email to