Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Oct 1998 12:29:08 +0200 (SAT)
From:      Robert Nordier <rnordier@nordier.com>
To:        bde@zeta.org.au (Bruce Evans)
Cc:        peter@netplex.com.au, rnordier@nordier.com, committers@FreeBSD.ORG, rnordier@FreeBSD.ORG, skynyrd@opus.cts.cwu.edu
Subject:   Re: cvs commit: src/sys/boot/i386 Makefile
Message-ID:  <199810101029.MAA11530@ceia.nordier.com>
In-Reply-To: <199810101008.UAA22994@godzilla.zeta.org.au> from Bruce Evans at "Oct 10, 98 08:08:04 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810101029.MAA11530>