Date: Wed, 26 Jun 1996 02:50:48 +1000 From: Bruce Evans <bde@zeta.org.au> To: bde@zeta.org.au, jkh@time.cdrom.com Cc: freebsd-current@FreeBSD.org, nate@sri.MT.net Subject: Re: Building inside of /usr/src? Message-ID: <199606251650.CAA16299@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>> 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 This is exactly how it works now. Have you tried it? :-). >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! Building things in /usr/src is only slightly broken. Building elsewhere is completely broken. My example builds in /tmp just because paths like /home/bde wouldn't be portable. >> $ make clean >> $ mkdir /usr/obj/tmp /usr/obj/tmp/cat >"make obj" is recommended. It will normally fail because normal users won't have write permission in /usr/obj, and in any case it only applies for building standard sources. >> $ 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. Actually, it's still relative to the current directory unless it begins with a '/', but most of the point of this is lost by appending the full path to the current directory to $MAKEOBJDIR. >Sorry Bruce, but there's nothing broken here except your expectation >that everything should be still broken in the ways it was broken >before! :-) There is no reason to break the old behaviour. If you want to break it, break it properly by removing the builtin /usr/obj path which is at best right for building /usr/src. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199606251650.CAA16299>