summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorjoerg <joerg@NetBSD.org>2012-08-17 16:22:27 +0000
committerjoerg <joerg@NetBSD.org>2012-08-17 16:22:27 +0000
commit9d7b27031ae8595260c33ff00cbacf31c44bd179 (patch)
treea07f082de92495849fe027d275f7d28aba6dc108 /Makefile
parenta8abfbac359918f02ecc7e223aab0d936347d679 (diff)
Implement build_install in src/lib/Makefile, which traverses the
subdirectories and invokes dependall/install. Do this in groups delimited by .WAIT to ensure that depending libraries can use the installed versions and don't need to know the locations in the source tree. Use this new target in src/Makefile to replace most of the adhoc library logic with two special cases, src/lib and src/compat. Adjust sys/Makefile to include the module directory when building them. Add some necessary .WAITs in src/lib/Makefile to reflect the dependencies from src/Makefile and also add the rump libraries here.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile108
1 files changed, 10 insertions, 98 deletions
diff --git a/Makefile b/Makefile
index 2a883191896..f632dd6673e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.298 2012/08/15 12:50:12 apb Exp $
+# $NetBSD: Makefile,v 1.299 2012/08/17 16:22:27 joerg Exp $
#
# This is the top-level makefile for building NetBSD. For an outline of
@@ -92,27 +92,9 @@
# includes: installs include files.
# do-tools-compat: builds the "libnbcompat" library; needed for some
# random host tool programs in the source tree.
-# do-lib-csu: builds and installs prerequisites from lib/csu.
-# do-libgcc: builds and installs prerequisites from
-# gnu/lib/crtstuff${LIBGCC_EXT} (if necessary) and
-# gnu/lib/libgcc${LIBGCC_EXT}.
-# do-libpcc: builds and install prerequisites from
-# external/bsd/pcc/crtstuff (if necessary) and
-# external/bsd/pcc/libpcc.
-# do-lib-libc: builds and installs prerequisites from lib/libc.
-# do-lib: builds and installs prerequisites from lib.
-# do-sys-rump-dev-lib: builds and installs prerequisites from sys/rump/dev/lib
-# do-sys-rump-fs-lib: builds and installs prerequisites from sys/rump/fs/lib
-# do-sys-rump-kern-lib: builds and installs prereq. from sys/rump/kern/lib
-# do-sys-rump-net-lib: builds and installs prerequisites from sys/rump/net/lib
-# do-sys-modules: builds and installs kernel modules (used by rump binaries)
-# do-ld.so: builds and installs prerequisites from libexec/ld.*_so.
-# do-compat-lib-csu: builds and installs prerequisites from compat/lib/csu
+# do-lib: builds and installs prerequisites from lib
# if ${MKCOMPAT} != "no".
-# do-compat-libgcc: builds and installs prerequisites from
-# compat/gnu/lib/crtstuff${LIBGCC_EXT} (if necessary) and
-# compat/gnu/lib/libgcc${LIBGCC_EXT} if ${MKCOMPAT} != "no".
-# do-compat-lib-libc: builds and installs prerequisites from compat/lib/libc
+# do-compat-lib: builds and installs prerequisites from compat/lib
# if ${MKCOMPAT} != "no".
# do-build: builds and installs the entire system.
# do-x11: builds and installs X11 if ${MKX11} != "no"; either
@@ -250,29 +232,8 @@ BUILDTARGETS+= do-distrib-dirs
.if !defined(NOINCLUDES)
BUILDTARGETS+= includes
.endif
-BUILDTARGETS+= do-tools-compat
-BUILDTARGETS+= do-lib-csu
-.if ${MKGCC} != "no"
-BUILDTARGETS+= do-libgcc
-.endif
-.if ${MKPCC} != "no"
-BUILDTARGET+= do-libpcc
-.endif
-BUILDTARGETS+= do-lib-libc
BUILDTARGETS+= do-lib
-.if ${MKKMOD} != "no"
-BUILDTARGETS+= do-sys-modules
-.endif
-.if ${MKRUMP} != "no"
-BUILDTARGETS+= do-sys-rump-dev-lib do-sys-rump-fs-lib
-BUILDTARGETS+= do-sys-rump-kern-lib do-sys-rump-net-lib
-.endif
-.if ${MKCOMPAT} != "no"
-BUILDTARGETS+= do-compat-lib-csu
-BUILDTARGETS+= do-compat-libgcc
-BUILDTARGETS+= do-compat-lib-libc
-.endif
-BUILDTARGETS+= do-ld.so
+BUILDTARGETS+= do-compat-lib
BUILDTARGETS+= do-build
.if ${MKX11} != "no"
BUILDTARGETS+= do-x11
@@ -471,32 +432,18 @@ do-${targ}: .PHONY ${targ}
@true
.endfor
-.if defined(HAVE_GCC)
-.if ${USE_COMPILERCRTSTUFF} == "yes"
-BUILD_CC_LIB= ${BUILD_CC_LIB_BASEDIR}/crtstuff${LIBGCC_EXT}
-.endif
-BUILD_CC_LIB+= ${BUILD_CC_LIB_BASEDIR}/libgcc${LIBGCC_EXT}
-.elif defined(HAVE_PCC)
-BUILD_CC_LIB+= external/bsd/pcc/crtstuff
-BUILD_CC_LIB+= external/bsd/pcc/libpcc
-.endif
-
-.for dir in tools tools/compat lib/csu ${BUILD_CC_LIB} lib/libc lib sys/rump/dev/lib sys/rump/fs/lib sys/rump/kern/lib sys/rump/net/lib sys/modules
+.for dir in tools tools/compat
do-${dir:S/\//-/g}: .PHONY .MAKE
.for targ in dependall install
${MAKEDIRTARGET} ${dir} ${targ}
.endfor
.endfor
-.if ${MKCOMPAT} != "no"
-COMPAT_SUBDIR_LIST=lib/csu ${BUILD_CC_LIB} lib/libc
-.for dir in ${COMPAT_SUBDIR_LIST}
-do-compat-${dir:S/\//-/g}: .PHONY .MAKE
-.for targ in dependall install
- ${MAKEDIRTARGET} compat ${targ} BOOTSTRAP_SUBDIRS="../../../${dir}"
-.endfor
-.endfor
-.endif
+do-lib: .PHONY .MAKE
+ ${MAKEDIRTARGET} lib build_install
+
+do-compat-lib: .PHONY .MAKE
+ ${MAKEDIRTARGET} compat build_install BOOTSTRAP_SUBDIRS="../../../lib"
do-top-obj: .PHONY .MAKE
${MAKEDIRTARGET} . obj NOSUBDIR=
@@ -504,41 +451,6 @@ do-top-obj: .PHONY .MAKE
do-tools-obj: .PHONY .MAKE
${MAKEDIRTARGET} tools obj
-do-libgcc: .PHONY .MAKE
-.if defined(HAVE_GCC)
-.if ${MKGCC} != "no"
-.if ${USE_COMPILERCRTSTUFF} == "yes"
- ${MAKEDIRTARGET} . do-${BUILD_CC_LIB_BASETARGET}-crtstuff${LIBGCC_EXT}
-.endif
- ${MAKEDIRTARGET} . do-${BUILD_CC_LIB_BASETARGET}-libgcc${LIBGCC_EXT}
-.endif
-.endif
-
-do-compat-libgcc: .PHONY .MAKE
-.if defined(HAVE_GCC)
-.if ${MKGCC} != "no"
-.if ${USE_COMPILERCRTSTUFF} == "yes"
- ${MAKEDIRTARGET} . do-compat-${BUILD_CC_LIB_BASETARGET}-crtstuff${LIBGCC_EXT}
-.endif
- ${MAKEDIRTARGET} . do-compat-${BUILD_CC_LIB_BASETARGET}-libgcc${LIBGCC_EXT}
-.endif
-.endif
-
-do-libpcc: .PHONY .MAKE
-.if defined(HAVE_PCC)
-.if ${MKPCC} != "no"
-.if ${USE_COMPILERCRTSTUFF} == "yes"
- ${MAKEDIRTARGET} . do-pcc-lib-crtstuff
-.endif
- ${MAKEDIRTARGET} . do-pcc-lib-libpcc
-.endif
-.endif
-
-do-ld.so: .PHONY .MAKE
-.for targ in dependall install
- ${MAKEDIRTARGET} libexec/ld.elf_so ${targ}
-.endfor
-
do-build: .PHONY .MAKE
.for targ in dependall install
${MAKEDIRTARGET} . ${targ} BUILD_tools=no BUILD_lib=no