From owner-freebsd-current Tue Jun 25 09:03:19 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id JAA11982 for current-outgoing; Tue, 25 Jun 1996 09:03:19 -0700 (PDT) Received: from time.cdrom.com (time.cdrom.com [204.216.27.226]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id JAA11976 for ; Tue, 25 Jun 1996 09:03:17 -0700 (PDT) Received: from time.cdrom.com (localhost [127.0.0.1]) by time.cdrom.com (8.7.5/8.6.9) with ESMTP id JAA18588; Tue, 25 Jun 1996 09:02:48 -0700 (PDT) To: Bruce Evans cc: freebsd-current@FreeBSD.org, nate@sri.MT.net Subject: Re: Building inside of /usr/src? In-reply-to: Your message of "Tue, 25 Jun 1996 18:26:34 +1000." <199606250826.SAA31406@godzilla.zeta.org.au> Date: Tue, 25 Jun 1996 09:02:48 -0700 Message-ID: <18586.835718568@time.cdrom.com> From: "Jordan K. Hubbard" Sender: owner-current@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk > Make's path building and priorities for finding the obj directory are now > broken. Not only the source tree is broken. Try this: But it's not! > $ cd /tmp > $ cvs co cat > $ cd cat > $ make # builds in ".", OK > $ make clean > $ mkdir obj > $ make # still builds in ".", not OK WRONG. This is not how it works now! I don't know what this weird fixation people have with trampling on /usr/src now is, but there's no reason for this to work because it's not looking in ${.SRCDIR}/obj and never will again. Don't be fooled by the `objlink' stuff as that's only user convenience - the make system does *not* follow the link! > $ make clean > $ mkdir /usr/obj/tmp /usr/obj/tmp/cat "make obj" is recommended. > $ make # now builds in /usr/obj/tmp/cat :-( Exactly! That's correct. > $ rm -rf /usr/obj/tmp # don't leave this trap > $ export MAKEOBJDIR=obj Again, this is wrong and I explained this! MAKEOBJDIR is an absolute path now, NOT the name of the obj directory itself. > $ mkdir obj > $ make # still builds in ".", not OK Totally OK. This is correct. > $ mkdir obj/tmp obj/tmp/cat > $ make # now builds in /tmp/cat/obj/tmp/cat :-(. And still correct. Sorry Bruce, but there's nothing broken here except your expectation that everything should be still broken in the ways it was broken before! :-) Jordan