From owner-cvs-all Sat Oct 10 03:32:32 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id DAA19871 for cvs-all-outgoing; Sat, 10 Oct 1998 03:32:32 -0700 (PDT) (envelope-from owner-cvs-all) Received: from ceia.nordier.com (slip139-92-122-75.joh.za.ibm.net [139.92.122.75]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id DAA19847; Sat, 10 Oct 1998 03:32:19 -0700 (PDT) (envelope-from rnordier@nordier.com) Received: (from rnordier@localhost) by ceia.nordier.com (8.8.7/8.6.12) id MAA11530; Sat, 10 Oct 1998 12:29:10 +0200 (SAT) From: Robert Nordier Message-Id: <199810101029.MAA11530@ceia.nordier.com> Subject: Re: cvs commit: src/sys/boot/i386 Makefile In-Reply-To: <199810101008.UAA22994@godzilla.zeta.org.au> from Bruce Evans at "Oct 10, 98 08:08:04 pm" To: bde@zeta.org.au (Bruce Evans) Date: Sat, 10 Oct 1998 12:29:08 +0200 (SAT) Cc: peter@netplex.com.au, rnordier@nordier.com, committers@FreeBSD.ORG, rnordier@FreeBSD.ORG, skynyrd@opus.cts.cwu.edu X-Mailer: ELM [version 2.4ME+ PL31 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-cvs-all@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Bruce Evans wrote: > >> By the way, it is possible to set $OBJFORMAT (the environment variable) in > >> a Makefile. This might be an idea for sys/boot/Makefile and > >> sys/i386/boot/Makefile > >> > >> Is this worth doing? For example: > >> [ ... ] > > > >That's a useful technique I wasn't aware of. > > > >For /sys/i386/boot, which is completely oriented to a.out, it seems > >the ideal solution. > > No, ideal for changing the default a whole subtree is to put the change > in Makefile.inc at the top of the tree and inherit this recursively. > The MAKEFLAGS hack fails for normal builds (when `make' is run in a leaf > directory) because it doesn't affect the current invocation of make. > > Only the setting of LIBDIR in bsd.own.mk is wrong if a Makefile[.inc] > changes OBJFORMAT. This is fairly harmless except for installng libraries. Thanks for setting me straight. (Damn! I knew I shouldn't have got sucked into this. An assembly language programmer with a makefile is only slightly less dangerous than a COBOL programmer with a soldering iron. :-) Any advice regarding the new /sys/boot/i386 stuff? None of these programs are FreeBSD hosted, so I'm not entirely sure what OBJFORMAT really means in this context. All the stuff prefers to compile as ELF. As a final step, btxld(8) outputs a "package" in one of {binary, a.out, ELF}, but this package is only interpreted by other boot programs. Does OBJFORMAT=aout mean: o Compile these files using the aout toolchain (in which case make world should *not* force OBJFORMAT=aout when invoking /sys/boot/i386) o Produce an aout binary (in which case, it seems we should pass the OBJFORMAT setting to btxld only, and force it to elf elsewhere, presumably using Makefile.inc) -- Robert Nordier