README revision 1.1 1 $NetBSD: README,v 1.1 2008/10/26 07:38:28 mrg Exp $
2
3 This directory contains Makefile fragments that will build all of the
4 NetBSD libraries in 32-bit mode and install them into /usr/lib/<arch>
5 and also install a /usr/libexec/ld.elf_so-<arch>.
6
7 This is current only supported for the amd64 and sparc64 platforms,
8 where <arch> is "i386" or "sparc" respectively. (It could be used to
9 build MIPS o32 libraries on n32 system, but not both n32 and o32 on
10 a n64 system. It only supports one extra target.)
11
12
13 Most of the makefiles here were built with the "build-makefiles" script.
14 The expections are lib/csu/Makefile and ld.elf_so/Makefile.
15
16
17 The method used is the:
18 - evaluate some local variables
19 - switch .CURDIR
20 - include original Makefile,
21 - evaluate some variables
22 - switch .CURDIR back
23 that is used by crunchgen to build eg, installer media or /rescue.
24
25
26
27 TODO:
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
39 Future work
40
41 Ideally this should be able to handle any number of compat targets.
42 Perhaps using a "force MAKEOBJDIR, and run-run make" solution will
43 work, but my initial attempts got me no where. If not, perhaps
44 build-makefiles could be expanded to be used at run-time in such
45 a per-compat target obj-dir.
46