Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Jun 1995 12:13:51 +0200 (MET DST)
From:      J Wunsch <j@uriah.heep.sax.de>
To:        freebsd-hackers@freebsd.org (FreeBSD hackers)
Subject:   Posix [Was: Re: make doesn't like lines with a tab only]
Message-ID:  <199506111013.MAA04832@uriah.heep.sax.de>
In-Reply-To: <zTI7TslCL1@astral.msk.su> from "=?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=FE=C5=D2=CE=CF=D7?= aka" at Jun 10, 95 09:09:38 pm

next in thread | previous in thread | raw e-mail | index | archive | help
[moved to -hackers]

As =?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=FE=C5=D2=CE=CF=D7?= aka wrote:
> 
> Thanx. Now only FreeBSD have this braindamage and only Rod tries
> to defend it by false references to POSIX and other strange methods.
> I hope everybody else agrees that we need to fix it
> (after code freeze lifted).
> If no objections comes, I'll commit the fix.

But make it issuing a warning anyway.  Posix neither clearly allows it
nor does it clearly forbide it (it's only saying about "<tab>command",
and there's never a definition saying the empty string were a valid
command or not; at least, it's a very useless one).  The warning will
not bother those too much who're only caring for porting other
software, while it will allow fixing bogus makefiles as well.

When reading Posix, i don't think our ``make'' is very far away from a
Posix-compliant make.  The intention of Posix here is to define only a
subset of required commands, while leaving all the usual extensions as
implementation-specific.  One thing that will be necessary is to
default the CC variable to ``c89'' instead of ``cc''.  Perhaps this
should be done via some .ifdef coding and the pseudo-target ``.POSIX''
which is required for all Posix-compliant Makefiles.  (Maybe `make'
will require internal logic to transform the .POSIX into an internal
macro.)


`c89' itself is no big deal.  A script as simple as

#!/bin/sh

exec cc -ansi $*

should do it.  Note that some vendor cc's might have more problems
here since it appears that Posix requires the c89 to accept spaces
after the -l, -L, and-I options as well (which gcc does).

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199506111013.MAA04832>