Subject: Re: New possibility to move "obj" logic *out* of make(1)
To: Todd Vierling <tv@wasabisystems.com>
From: Simon Gerraty <sjg@juniper.net>
List: tech-toolchain
Date: 10/31/2001 12:00:09
On Wed, 31 Oct 2001 10:43:29 EST, Todd Vierling wrote:
>- move objdir handling to <bsd.obj.mk>
>- disable the built-in make(1) logic by default
>- add command line option to *enable* the built-in make(1) objdir handling
>
>Basically, the idea here is to cause make(1) to have zero innate knowledge
>of objdirs by default, relegating handling to explicit .OBJDIR: rules only.
>The command line option would re-enable the old logic, in the case that a

You'd still need to move the code - since currentl objdir handling is
done before the command line is parsed.

>user of a new make(1) might want to build a tree, such as an old NetBSD
>tree, expecting classical BSD-make objdir handling.[*]
>
>[*] With the advent of the "POSIX compliance code" added by sjg, would
>    compatibility with Old trees be possible anyway?  Should this

I use -current make on all my boxes - 1.4.x onwards. I've not noticed
any issues.

>    command line option possibly also turn on and "old BSD make"
>    compatibility mode whereby the new POSIX behavior is turned off?

You can just as easily clear .MAKEOVERRIDES.

Besides, command line options suck for something you want every time.
You end up forcing people to write aliases/scripts to wrap make
to provide all the options - at which point you may as well have a
script that sets up the environment before running make.

Anyway, this sounds an interesting idea.  
--sjg