From owner-freebsd-current Wed Jun 26 14:03:10 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id OAA11823 for current-outgoing; Wed, 26 Jun 1996 14:03:10 -0700 (PDT) Received: from linus.demon.co.uk (linus.demon.co.uk [158.152.10.220]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id NAA11457 for ; Wed, 26 Jun 1996 13:59:51 -0700 (PDT) Received: (from mark@localhost) by linus.demon.co.uk (8.7.5/8.7.3) id VAA04202; Wed, 26 Jun 1996 21:57:22 GMT Message-Id: <199606262157.VAA04202@linus.demon.co.uk> From: mark@linus.demon.co.uk (Mark Valentine) Date: Wed, 26 Jun 1996 21:57:21 +0000 In-Reply-To: Bruce Evans's message of Jun 25, 6:26pm X-Mailer: Mail User's Shell (7.2.6 alpha(3) 7/19/95) To: Bruce Evans , freebsd-current@FreeBSD.ORG, nate@sri.MT.net Subject: Re: Building inside of /usr/src? Sender: owner-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > From: Bruce Evans > Date: Tue 25 Jun, 1996 > Subject: Re: Building inside of /usr/src? > Fix: restore the old behaviour of make and introduce a new environment > variable MAKEOBJTREE to control the new behaviour. The priorities should > be: > > $MAKEOBJDIR (if MAKEOBJDIR is set) (highest) > obj.$machine > obj > $MAKEOBJTREE/`pwd` (if MAKEOBJTREE is set) > . > > MAKEOBJTREE would normally be set in bsd.*.mk. The above priority allow > overriding it easily (for building outside the src tree) using `mkdir obj'. > There is still the problem that the objects may be put under $MAKEOBJTREE > if a directory that you don't know about happens to exist there. > > I also dislike the full pathname being appended to $MAKEOBJTREE. I dislike the redundant MAKEOBJTREE (since BSDOBJDIR already contains that location). Actually, isn't the only thing required here a *boolean* variable, complementary to NOOBJ and NOOBJLINK in bsd.obj.mk? Done right, this would mean that people not using bsd.*.mk (once sys.mk is fixed) shouldn't be affected by the possibility of having stuff go off to an obj tree they know nothing about. Jordan, I haven't played with it enough, but did you find problems which made it *necessary* to teach make(1) about /usr/obj? Can the bsd.obj.mk rules be made to do what they look like they should? (Only bsd.obj.mk seems to use BSDOBJDIR instead of /usr/obj - similarly for BSDSRCDIR - was this brought in from NetBSD recently?) I'll gladly poke in this stuff further, but if you could confirm whether you've already found the above approach unworkable, or pass on details of what fell over if you tried it and gave up... Cheers, Mark. -- Mark Valentine at Home