README revision 1.1
1$NetBSD: README,v 1.1 2008/10/26 07:38:28 mrg Exp $
2
3This directory contains Makefile fragments that will build all of the
4NetBSD libraries in 32-bit mode and install them into /usr/lib/<arch>
5and also install a /usr/libexec/ld.elf_so-<arch>.
6
7This is current only supported for the amd64 and sparc64 platforms,
8where <arch> is "i386" or "sparc" respectively.  (It could be used to
9build MIPS o32 libraries on n32 system, but not both n32 and o32 on
10a n64 system.  It only supports one extra target.)
11
12
13Most of the makefiles here were built with the "build-makefiles" script.
14The expections are lib/csu/Makefile and ld.elf_so/Makefile.
15
16
17The method used is the:
18	- evaluate some local variables
19	- switch .CURDIR
20	- include original Makefile,
21	- evaluate some variables
22	- switch .CURDIR back
23that is used by crunchgen to build eg, installer media or /rescue.
24
25
26
27TODO:
28	- currently, LIBDPLIBS evaluation gets the src/lib directories
29	  not the src/compat/lib ones, and this causes build-time link
30	  failures.  it's work-around-able by running "nbmake-foo
31	  install" manually in each library not found.
32	- some yacc issue -- libc, libipsec and libpcap need "make" run
33	  to generate headers properly, otherwise it complains about
34	  no way to get to foo.h.
35	- there's an ugly hack to make libpam build correctly again the
36	  right libc.  ld.elf_so has a similar (but less ugly hack.)
37
38
39Future work
40
41Ideally this should be able to handle any number of compat targets.
42Perhaps using a "force MAKEOBJDIR, and run-run make" solution will
43work, but my initial attempts got me no where.  If not, perhaps
44build-makefiles could be expanded to be used at run-time in such
45a per-compat target obj-dir.
46