Subject: Re: [Lynx-dev] Re: non-pkgsrc emacs or clone
To: Thomas Dickey <dickey@his.com>
From: Klaus Klein <kleink@mibh.de>
List: netbsd-users
Date: 05/25/2005 09:28:09
Thomas Dickey wrote:
> On Mon, 23 May 2005, Klaus Klein wrote:
> 
> > Martin Husemann wrote:
> >> On Mon, May 23, 2005 at 03:36:20PM +0200, Martin Husemann wrote:
> >> The "makefile" in that directory does not specify .h as a .SUFFIX. Adding that,
> >> makes it work.
> >
> > So FWIW, POSIX has a set of default .SUFFIXES, and .h isn't one of
> > them, whereas GNU make indeed does define it regardless of
> > POSIXLY_CORRECT being set in the environment.
> 
> However, it works with the vendor's make for: Solaris, AIX, HPUX, Tru64. 
> Given the statements in this thread, it is apparent that none of those 
> conform to POSIX either, making NetBSD's the sole conforming 
> implementation.

You may be surprised. The standard mandates a set of default
.SUFFIXES to be defined; it doesn't stop implementations from
adding to that set.  (I'd half-way expected a clunky knob like
POSIXLY_CORRECT to affect that, but let's not go there.)  But
the actual problem lies not in the implementation of make but
in your application's use made of it; this is the flipside of
the conformance coin that you've been denying.

Now, checking NetBSD's change log revealed that the change that
made .h go away in NetBSD's make was apparently not motiviated
by any conformance considerations, and it seems to me like an
unnecessary toll inflicted on existing applications.  However,
those being actively maintained ought to reflect the reality
of there being some implementations that behave more strictly
within the bounds of the standard than others do, too.



- Klaus