Date: Tue, 12 Jan 1999 08:06:31 +0200 (SAT) From: John Hay <jhay@mikom.csir.co.za> To: dillon@apollo.backplane.com (Matthew Dillon) Cc: current@FreeBSD.ORG Subject: Re: /usr/obj/elf, /usr/obj/aout, /usr/obj - breaks make all vs make buildworld, and other things. Time to make elf the default ? Message-ID: <199901120606.IAA20136@zibbi.mikom.csir.co.za> In-Reply-To: <199901111822.KAA96566@apollo.backplane.com> from Matthew Dillon at "Jan 11, 99 10:22:33 am"
next in thread | previous in thread | raw e-mail | index | archive | help
> If I do a 'make buildworld', the object tree is created in /usr/obj/elf > rather then /usr/obj. > > If I then want to make the world again, but without cleaning anything, > 'make' alone will not work. Instead, 'make -DNOCLEAN -DNOTOOLS' must be > used. ... > > Now, I realize that if you cd somewhere deep into /usr/src and type make, > it will not use the correct obj tree either. So the question is, is it > time to make elf the default ( i.e. /usr/obj ) and just special case > a.out ( i.e. /usr/obj/a.out ) ???? > > My personal opinion is: yes, ELF should now be the default without any > OBJFORMAT munging. It would be relatively simple to have the top level > make check whether the user's machine is ELF or not, and to only allow > the user to ( at this point ) convert his machine from a.out to elf before > the user is allowed to compile random source. I also think that now that elf is the default, it should live in /usr/obj/... I have a patch that I'm testing to do this. It passed the make world test, but I also wanted to make sure make release won't break with it, but make release was broken a bit the last day or so. It still use the aout directory for the aout case, but use the plain /usr/obj in the elf case. The only drawback is that people with a /usr/obj/elf directory will have to remove it themselves or maybe if people feel strong enough about it, we can add something to the world target to remove it if it still exists? John -- John Hay -- John.Hay@mikom.csir.co.za --- Makefile.inc0.org Mon Dec 21 10:30:44 1998 +++ Makefile.inc0 Mon Jan 11 14:32:31 1999 @@ -18,7 +18,9 @@ # Variables passed to make work better if they are set as environment # variables instead of command line options. # +.if ${MACHINE_ARCH} == "i386" && ${OBJFORMAT} == "aout" MK_ENV= MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/${OBJFORMAT} +.endif # # We should always use the current set of mk files, not the installed ones. @@ -51,7 +53,7 @@ # # Temporary path and environment for the legacy build. # -ELFTMP= ${MAKEOBJDIRPREFIX}/elf${.CURDIR}/tmp +ELFTMP= ${MAKEOBJDIRPREFIX}${.CURDIR}/tmp ELFTMPPATH= ${ELFTMP}/sbin:${ELFTMP}/bin:${ELFTMP}/usr/sbin:${ELFTMP}/usr/bin:${ELFTMP}/usr/games LEGACY_ENV= PATH=${ELFTMPPATH} OBJFORMAT=aout NOTOOLS=1 TOOLROOT=${ELFTMP} \ MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/aout To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199901120606.IAA20136>