$NetBSD: README,v 1.3 2009/01/13 17:52:32 jmmv Exp $
This directory contains Makefile fragments that will build all of the
NetBSD libraries in 32-bit mode and install them into /usr/lib/<arch>
and also install a /usr/libexec/ld.elf_so-<arch>.
This is current only supported for the amd64 and sparc64 platforms,
where <arch> is "i386" or "sparc" respectively. (It could be used to
build MIPS o32 libraries on n32 system, but not both n32 and o32 on
a n64 system. It only supports one extra target.)
Most of the makefiles here were built with the "build-makefiles" script.
The exceptions are lib/csu/Makefile and ld.elf_so/Makefile.
The method used is the:
- evaluate some local variables
- switch .CURDIR
- include original Makefile,
- evaluate some variables
- switch .CURDIR back
that is used by crunchgen to build eg, installer media or /rescue.
TODO:
- some yacc issue -- libc, libipsec and libpcap need "make" run
to generate headers properly, otherwise it complains about
no way to get to foo.h. this is currently hacked by putting
a rule "foo.h: foo.c" in the (generated) makefiles
- there's an ugly hack to make libpam build correctly again the
right libc. ld.elf_so has a similar (but less ugly hack)
- not sure that /usr/lib/{i386,sparc}{,/i18n} are created
properly yet
Future work
Ideally this should be able to handle any number of compat targets.
Perhaps using a "force MAKEOBJDIR, and run-run make" solution will
work, but my initial attempts got me no where. If not, perhaps
build-makefiles could be expanded to be used at run-time in such
a per-compat target obj-dir.