%% Martin Wilck <[EMAIL PROTECTED]> writes:

  >> > This didn't work for my .F/.f stuff, because the first rtule will be 
  >> > ignored by make if CXXEXT != .cc and if there is a built-in rule
  >> > .cc.o. Your first suggestion seems threfore more robust to me,
  >> > because it rewrites the .cc.o rule.
  >> 
  >> You probably have to declare .SUFFIXES somewhere in the makefile.

  mw> That is what I thought, too, before I found I was wrong.
  mw> (Btw automake sets .SUFFIXES automatically)

  mw> [ From the info pages of GNU make: ]

  mw> [ End GNU make info ]

I don't see how this quote pertains to Alexandre's point?

Automake by default declares .SUFFIXES: with no targets:

  .SUFFIXES:

This removes all the builtin suffix rules, in all versions of make (this
is portable).  Then it adds back a predefined set, like this:

  .SUFFIXES: .S .c .dvi .info .o .ps .s .texi .texinfo .txi

These are all the suffixes that can appear in a suffix rule.  If a
target looks like a suffix rule but one or both of the suffixes doesn't
appear in this list, it's just a normal target to make.

If you want to create some _NEW_ suffix rules, you have to add back the
suffixes you'll use.  If, for example, you want to have a rule that
builds .o's from .f's, you need this:

  .SUFFIXES: .f  # assuming .o was added already as above

  .f.o:
        Do some compiles here

  mw> GNU make at least provides the command-line option "-r" to
  mw> to cancel builtin rules, but I have no idea if this is portable.

No, -r is GNU make only.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[EMAIL PROTECTED]>         Network Management Development
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist
-------------------------------------------------------------------------------
   These are my opinions---Nortel Networks takes no responsibility for them.

Reply via email to