svn commit: r296642 - head

Warner Losh imp at FreeBSD.org
Fri Mar 11 03:38:12 UTC 2016


Author: imp
Date: Fri Mar 11 03:38:10 2016
New Revision: 296642
URL: https://svnweb.freebsd.org/changeset/base/296642

Log:
  Factor out lib32 generation to its own file. This is prep for a
  similar Makefile.libsoft which will do the same for armv6 soft fp API
  libraries in prep for pulling the trigger on moving to armv6 hard
  float. Once there's two files, I'll work with bdrewery@ to merge the
  two files as they are mostly the same. The high rate of churn for
  Makefile* makes it quite difficult to make progress out of tree.
  
  Differential Review: https://reviews.freebsd.org/D5566

Added:
  head/Makefile.lib32
     - copied, changed from r296641, head/Makefile.inc1
Modified:
  head/Makefile.inc1

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1	Fri Mar 11 03:15:17 2016	(r296641)
+++ head/Makefile.inc1	Fri Mar 11 03:38:10 2016	(r296642)
@@ -454,70 +454,11 @@ XCXXFLAGS+=	${BFLAGS}
 .endif
 .endif # ${XCC:M/*}
 
-WMAKE=		${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP}
-
 .if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
-# 32 bit world
-LIB32_OBJTREE=	${OBJTREE}${.CURDIR}/world32
-LIB32TMP=	${OBJTREE}${.CURDIR}/lib32
-
-.if ${TARGET_ARCH} == "amd64"
-.if empty(TARGET_CPUTYPE)
-LIB32CPUFLAGS=	-march=i686 -mmmx -msse -msse2
-.else
-LIB32CPUFLAGS=	-march=${TARGET_CPUTYPE}
-.endif
-LIB32WMAKEENV=	MACHINE=i386 MACHINE_ARCH=i386 \
-		MACHINE_CPU="i686 mmx sse sse2"
-LIB32WMAKEFLAGS=	\
-		AS="${XAS} --32" \
-		LD="${XLD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \
-		OBJCOPY="${XOBJCOPY}"
-
-.elif ${TARGET_ARCH} == "powerpc64"
-.if empty(TARGET_CPUTYPE)
-LIB32CPUFLAGS=	-mcpu=powerpc
-.else
-LIB32CPUFLAGS=	-mcpu=${TARGET_CPUTYPE}
-.endif
-LIB32WMAKEENV=	MACHINE=powerpc MACHINE_ARCH=powerpc
-LIB32WMAKEFLAGS=	\
-		LD="${XLD} -m elf32ppc_fbsd" \
-		OBJCOPY="${XOBJCOPY}"
+.include "Makefile.lib32"
 .endif
 
-
-LIB32FLAGS=	-m32 ${LIB32CPUFLAGS} -DCOMPAT_32BIT \
-		-isystem ${LIB32TMP}/usr/include/ \
-		-L${LIB32TMP}/usr/lib32 \
-		-B${LIB32TMP}/usr/lib32
-.if ${XCC:N${CCACHE_BIN}:M/*}
-LIB32FLAGS+=		--sysroot=${WORLDTMP}
-.endif
-
-# Yes, the flags are redundant.
-LIB32WMAKEENV+=	MAKEOBJDIRPREFIX=${LIB32_OBJTREE} \
-		_LDSCRIPTROOT=${LIB32TMP} \
-		INSTALL="sh ${.CURDIR}/tools/install.sh" \
-		PATH=${TMPPATH} \
-		LIBDIR=/usr/lib32 \
-		SHLIBDIR=/usr/lib32 \
-		DTRACE="${DTRACE} -32"
-LIB32WMAKEFLAGS+= CC="${XCC} ${LIB32FLAGS}" \
-		CXX="${XCXX} ${LIB32FLAGS}" \
-		DESTDIR=${LIB32TMP} \
-		-DCOMPAT_32BIT \
-		-DLIBRARIES_ONLY \
-		-DNO_CPU_CFLAGS \
-		MK_CTF=no \
-		-DNO_LINT \
-		MK_TESTS=no
-
-LIB32WMAKE=	${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \
-		MK_MAN=no MK_HTML=no
-LIB32IMAKE=	${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \
-		MK_TOOLCHAIN=no ${IMAKE_INSTALL}
-.endif
+WMAKE=		${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP}
 
 IMAKEENV=	${CROSSENV:N_LDSCRIPTROOT=*}
 IMAKE=		${IMAKEENV} ${MAKE} -f Makefile.inc1 \
@@ -700,78 +641,6 @@ everything:
 	@echo ">>> stage 4.4: building everything"
 	@echo "--------------------------------------------------------------"
 	${_+_}cd ${.CURDIR}; _PARALLEL_SUBDIR_OK=1 ${WMAKE} all
-.if defined(LIB32TMP)
-build32: .PHONY
-	@echo
-	@echo "--------------------------------------------------------------"
-	@echo ">>> stage 5.1: building 32 bit shim libraries"
-	@echo "--------------------------------------------------------------"
-	mkdir -p ${LIB32TMP}/usr/include
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
-	    -p ${LIB32TMP}/usr >/dev/null
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
-	    -p ${LIB32TMP}/usr/include >/dev/null
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
-	    -p ${LIB32TMP}/usr >/dev/null
-.if ${MK_DEBUG_FILES} != "no"
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \
-	    -p ${LIB32TMP}/usr/lib >/dev/null
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
-	    -p ${LIB32TMP}/usr/lib/debug/usr >/dev/null
-.endif
-	mkdir -p ${WORLDTMP}
-	ln -sf ${.CURDIR}/sys ${WORLDTMP}
-.for _t in obj includes
-	${_+_}cd ${.CURDIR}/include; ${LIB32WMAKE} DIRPRFX=include/ ${_t}
-	${_+_}cd ${.CURDIR}/lib; ${LIB32WMAKE} DIRPRFX=lib/ ${_t}
-.if ${MK_CDDL} != "no"
-	${_+_}cd ${.CURDIR}/cddl/lib; ${LIB32WMAKE} DIRPRFX=cddl/lib/ ${_t}
-.endif
-	${_+_}cd ${.CURDIR}/gnu/lib; ${LIB32WMAKE} DIRPRFX=gnu/lib/ ${_t}
-.if ${MK_CRYPT} != "no"
-	${_+_}cd ${.CURDIR}/secure/lib; ${LIB32WMAKE} DIRPRFX=secure/lib/ ${_t}
-.endif
-.if ${MK_KERBEROS} != "no"
-	${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIB32WMAKE} DIRPRFX=kerberos5/lib ${_t}
-.endif
-.endfor
-.for _dir in usr.bin/lex/lib
-	${_+_}cd ${.CURDIR}/${_dir}; ${LIB32WMAKE} DIRPRFX=${_dir}/ obj
-.endfor
-.for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic
-	${_+_}cd ${.CURDIR}/${_dir}; \
-	    WORLDTMP=${WORLDTMP} \
-	    MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \
-	    MAKEOBJDIRPREFIX=${LIB32_OBJTREE} ${MAKE} SSP_CFLAGS= DESTDIR= \
-	    DIRPRFX=${_dir}/ -DNO_LINT -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \
-	    build-tools
-.endfor
-	${_+_}cd ${.CURDIR}; \
-	    ${LIB32WMAKE} -f Makefile.inc1 -DNO_FSCHG libraries
-.for _t in obj depend all
-	${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIB32WMAKE} \
-	    -DNO_FSCHG DIRPRFX=libexec/rtld-elf/ ${_t}
-	${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32WMAKE} \
-	    DIRPRFX=usr.bin/ldd ${_t}
-.endfor
-
-distribute32 install32: .MAKE .PHONY
-	${_+_}cd ${.CURDIR}/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
-.if ${MK_CDDL} != "no"
-	${_+_}cd ${.CURDIR}/cddl/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
-.endif
-	${_+_}cd ${.CURDIR}/gnu/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
-.if ${MK_CRYPT} != "no"
-	${_+_}cd ${.CURDIR}/secure/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
-.endif
-.if ${MK_KERBEROS} != "no"
-	${_+_}cd ${.CURDIR}/kerberos5/lib; ${LIB32IMAKE} ${.TARGET:S/32$//}
-.endif
-	${_+_}cd ${.CURDIR}/libexec/rtld-elf; \
-	    PROG=ld-elf32.so.1 ${LIB32IMAKE} ${.TARGET:S/32$//}
-	${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32IMAKE} \
-	    ${.TARGET:S/32$//}
-.endif
 
 WMAKE_TGTS=
 WMAKE_TGTS+=	_worldtmp _legacy

Copied and modified: head/Makefile.lib32 (from r296641, head/Makefile.inc1)
==============================================================================
--- head/Makefile.inc1	Fri Mar 11 03:15:17 2016	(r296641, copy source)
+++ head/Makefile.lib32	Fri Mar 11 03:38:10 2016	(r296642)
@@ -1,462 +1,8 @@
-#
 # $FreeBSD$
-#
-# Make command line options:
-#	-DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir
-#	-DNO_CLEAN do not clean at all
-#	-DDB_FROM_SRC use the user/group databases in src/etc instead of
-#	    the system database when installing.
-#	-DNO_SHARE do not go into share subdir
-#	-DKERNFAST define NO_KERNEL{CONFIG,CLEAN,DEPEND,OBJ}
-#	-DNO_KERNELCONFIG do not run config in ${MAKE} buildkernel
-#	-DNO_KERNELCLEAN do not run ${MAKE} clean in ${MAKE} buildkernel
-#	-DNO_KERNELDEPEND do not run ${MAKE} depend in ${MAKE} buildkernel
-#	-DNO_KERNELOBJ do not run ${MAKE} obj in ${MAKE} buildkernel
-#	-DNO_PORTSUPDATE do not update ports in ${MAKE} update
-#	-DNO_ROOT install without using root privilege
-#	-DNO_DOCUPDATE do not update doc in ${MAKE} update
-#	-DWITHOUT_CTF do not run the DTrace CTF conversion tools on built objects
-#	LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list
-#	LOCAL_ITOOLS="list of tools" to add additional tools to the ITOOLS list
-#	LOCAL_LIB_DIRS="list of dirs" to add additional dirs to libraries target
-#	LOCAL_MTREE="list of mtree files" to process to allow local directories
-#	    to be created before files are installed
-#	LOCAL_TOOL_DIRS="list of dirs" to add additional dirs to the build-tools
-#	    list
-#	METALOG="path to metadata log" to write permission and ownership
-#	    when NO_ROOT is set.  (default: ${DESTDIR}/METALOG)
-#	TARGET="machine" to crossbuild world for a different machine type
-#	TARGET_ARCH= may be required when a TARGET supports multiple endians
-#	BUILDENV_SHELL= shell to launch for the buildenv target (def:${SHELL})
-#	WORLD_FLAGS= additional flags to pass to make(1) during buildworld
-#	KERNEL_FLAGS= additional flags to pass to make(1) during buildkernel
-#	SUBDIR_OVERRIDE="list of dirs" to build rather than everything.
-#	    All libraries and includes, and some build tools will still build.
 
-#
-# The intended user-driven targets are:
-# buildworld  - rebuild *everything*, including glue to help do upgrades
-# installworld- install everything built by "buildworld"
-# checkworld  - run test suite on installed world
-# doxygen     - build API documentation of the kernel
-# update      - convenient way to update your source tree (eg: svn/svnup)
-#
-# Standard targets (not defined here) are documented in the makefiles in
-# /usr/share/mk.  These include:
-#		obj depend all install clean cleandepend cleanobj
+# Makefile for the 32-bit compat libraries on PowerPC and AMD64.
+# could also be for mips, but that doesn't work today.
 
-.if !defined(TARGET) || !defined(TARGET_ARCH)
-.error "Both TARGET and TARGET_ARCH must be defined."
-.endif
-
-LOCALBASE?=	/usr/local
-
-# Cross toolchain changes must be in effect before bsd.compiler.mk
-# so that gets the right CC, and pass CROSS_TOOLCHAIN to submakes.
-.if defined(CROSS_TOOLCHAIN)
-.include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk"
-CROSSENV+=CROSS_TOOLCHAIN="${CROSS_TOOLCHAIN}"
-.endif
-.include <bsd.compiler.mk>		# don't depend on src.opts.mk doing it
-.include "share/mk/src.opts.mk"	
-
-# We must do lib/ and libexec/ before bin/ in case of a mid-install error to
-# keep the users system reasonably usable.  For static->dynamic root upgrades,
-# we don't want to install a dynamic binary without rtld and the needed
-# libraries.  More commonly, for dynamic root, we don't want to install a
-# binary that requires a newer library version that hasn't been installed yet.
-# This ordering is not a guarantee though.  The only guarantee of a working
-# system here would require fine-grained ordering of all components based
-# on their dependencies.
-SRCDIR?=	${.CURDIR}
-.if !empty(SUBDIR_OVERRIDE)
-SUBDIR=	${SUBDIR_OVERRIDE}
-.else
-SUBDIR=	lib libexec
-.if !defined(NO_ROOT) && (make(installworld) || make(install))
-# Ensure libraries are installed before progressing.
-SUBDIR+=.WAIT
-.endif
-SUBDIR+=bin
-.if ${MK_CDDL} != "no"
-SUBDIR+=cddl
-.endif
-SUBDIR+=gnu include
-.if ${MK_KERBEROS} != "no"
-SUBDIR+=kerberos5
-.endif
-.if ${MK_RESCUE} != "no"
-SUBDIR+=rescue
-.endif
-SUBDIR+=sbin
-.if ${MK_CRYPT} != "no"
-SUBDIR+=secure
-.endif
-.if !defined(NO_SHARE)
-SUBDIR+=share
-.endif
-SUBDIR+=sys usr.bin usr.sbin
-.if ${MK_TESTS} != "no"
-SUBDIR+=	tests
-.endif
-.if ${MK_OFED} != "no"
-SUBDIR+=contrib/ofed
-.endif
-
-# Local directories are last, since it is nice to at least get the base
-# system rebuilt before you do them.
-.for _DIR in ${LOCAL_DIRS}
-.if exists(${.CURDIR}/${_DIR}/Makefile)
-SUBDIR+=	${_DIR}
-.endif
-.endfor
-# Add LOCAL_LIB_DIRS, but only if they will not be picked up as a SUBDIR
-# of a LOCAL_DIRS directory.  This allows LOCAL_DIRS=foo and
-# LOCAL_LIB_DIRS=foo/lib to behave as expected.
-.for _DIR in ${LOCAL_DIRS:M*/} ${LOCAL_DIRS:N*/:S|$|/|}
-_REDUNDENT_LIB_DIRS+=    ${LOCAL_LIB_DIRS:M${_DIR}*}
-.endfor
-.for _DIR in ${LOCAL_LIB_DIRS}
-.if empty(_REDUNDENT_LIB_DIRS:M${_DIR}) && exists(${.CURDIR}/${_DIR}/Makefile)
-SUBDIR+=	${_DIR}
-.else
-.warning ${_DIR} not added to SUBDIR list.  See UPDATING 20141121.
-.endif
-.endfor
-
-# We must do etc/ last as it hooks into building the man whatis file
-# by calling 'makedb' in share/man.  This is only relevant for
-# install/distribute so they build the whatis file after every manpage is
-# installed.
-.if make(installworld) || make(install)
-SUBDIR+=.WAIT
-.endif
-SUBDIR+=etc
-
-.endif	# !empty(SUBDIR_OVERRIDE)
-
-.if defined(NOCLEAN)
-.warning NOCLEAN option is deprecated. Use NO_CLEAN instead.
-NO_CLEAN=	${NOCLEAN}
-.endif
-.if defined(NO_CLEANDIR)
-CLEANDIR=	clean cleandepend
-.else
-CLEANDIR=	cleandir
-.endif
-
-# FAST_DEPEND can skip depend tree-walks.
-.if ${MK_FAST_DEPEND} == "yes"
-NO_DEPEND=	t
-NO_KERNELDEPEND=t
-.endif
-# Ensure shell checks later have a value.
-.if defined(NO_DEPEND)
-NO_DEPEND=	t
-.endif
-
-LOCAL_TOOL_DIRS?=
-PACKAGEDIR?=	${DESTDIR}/${DISTDIR}
-
-.if empty(SHELL:M*csh*)
-BUILDENV_SHELL?=${SHELL}
-.else
-BUILDENV_SHELL?=/bin/sh
-.endif
-
-SVN?=		/usr/local/bin/svn
-SVNFLAGS?=	-r HEAD
-
-MAKEOBJDIRPREFIX?=	/usr/obj
-.if !defined(OSRELDATE)
-.if exists(/usr/include/osreldate.h)
-OSRELDATE!=	awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
-		/usr/include/osreldate.h
-.else
-OSRELDATE=	0
-.endif
-.export OSRELDATE
-.endif
-
-# Set VERSION for CTFMERGE to use via the default CTFFLAGS=-L VERSION.
-.if !defined(VERSION)
-REVISION!=	MK_AUTO_OBJ=no ${MAKE} -C ${SRCDIR}/release -V REVISION
-BRANCH!=	MK_AUTO_OBJ=no ${MAKE} -C ${SRCDIR}/release -V BRANCH
-SRCRELDATE!=	awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
-		${SRCDIR}/sys/sys/param.h
-VERSION=	FreeBSD ${REVISION}-${BRANCH:C/-p[0-9]+$//} ${TARGET_ARCH} ${SRCRELDATE}
-.export VERSION
-.endif
-
-KNOWN_ARCHES?=	aarch64/arm64 \
-		amd64 \
-		arm \
-		armeb/arm \
-		armv6/arm \
-		armv6hf/arm \
-		i386 \
-		i386/pc98 \
-		mips \
-		mipsel/mips \
-		mips64el/mips \
-		mips64/mips \
-		mipsn32el/mips \
-		mipsn32/mips \
-		powerpc \
-		powerpc64/powerpc \
-		riscv64/riscv \
-		sparc64
-
-.if ${TARGET} == ${TARGET_ARCH}
-_t=		${TARGET}
-.else
-_t=		${TARGET_ARCH}/${TARGET}
-.endif
-.for _t in ${_t}
-.if empty(KNOWN_ARCHES:M${_t})
-.error Unknown target ${TARGET_ARCH}:${TARGET}.
-.endif
-.endfor
-
-.if ${TARGET} == ${MACHINE}
-TARGET_CPUTYPE?=${CPUTYPE}
-.else
-TARGET_CPUTYPE?=
-.endif
-
-.if !empty(TARGET_CPUTYPE)
-_TARGET_CPUTYPE=${TARGET_CPUTYPE}
-.else
-_TARGET_CPUTYPE=dummy
-.endif
-_CPUTYPE!=	MK_AUTO_OBJ=no MAKEFLAGS= CPUTYPE=${_TARGET_CPUTYPE} ${MAKE} \
-		-f /dev/null -m ${.CURDIR}/share/mk -V CPUTYPE
-.if ${_CPUTYPE} != ${_TARGET_CPUTYPE}
-.error CPUTYPE global should be set with ?=.
-.endif
-.if make(buildworld)
-BUILD_ARCH!=	uname -p
-.if ${MACHINE_ARCH} != ${BUILD_ARCH}
-.error To cross-build, set TARGET_ARCH.
-.endif
-.endif
-.if ${MACHINE} == ${TARGET} && ${MACHINE_ARCH} == ${TARGET_ARCH} && !defined(CROSS_BUILD_TESTING)
-OBJTREE=	${MAKEOBJDIRPREFIX}
-.else
-OBJTREE=	${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}
-.endif
-WORLDTMP=	${OBJTREE}${.CURDIR}/tmp
-BPATH=		${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin
-XPATH=		${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin
-STRICTTMPPATH=	${BPATH}:${XPATH}
-TMPPATH=	${STRICTTMPPATH}:${PATH}
-
-#
-# Avoid running mktemp(1) unless actually needed.
-# It may not be functional, e.g., due to new ABI
-# when in the middle of installing over this system.
-#
-.if make(distributeworld) || make(installworld)
-INSTALLTMP!=	/usr/bin/mktemp -d -u -t install
-.endif
-
-#
-# Building a world goes through the following stages
-#
-# 1. legacy stage [BMAKE]
-#	This stage is responsible for creating compatibility
-#	shims that are needed by the bootstrap-tools,
-#	build-tools and cross-tools stages. These are generally
-#	APIs that tools from one of those three stages need to
-#	build that aren't present on the host.
-# 1. bootstrap-tools stage [BMAKE]
-#	This stage is responsible for creating programs that
-#	are needed for backward compatibility reasons. They
-#	are not built as cross-tools.
-# 2. build-tools stage [TMAKE]
-#	This stage is responsible for creating the object
-#	tree and building any tools that are needed during
-#	the build process. Some programs are listed during
-#	this phase because they build binaries to generate
-#	files needed to build these programs. This stage also
-#	builds the 'build-tools' target rather than 'all'.
-# 3. cross-tools stage [XMAKE]
-#	This stage is responsible for creating any tools that
-#	are needed for building the system. A cross-compiler is one
-#	of them. This differs from build tools in two ways:
-#	1. the 'all' target is built rather than 'build-tools'
-#	2. these tools are installed into TMPPATH for stage 4.
-# 4. world stage [WMAKE]
-#	This stage actually builds the world.
-# 5. install stage (optional) [IMAKE]
-#	This stage installs a previously built world.
-#
-
-BOOTSTRAPPING?=	0
-
-# Common environment for world related stages
-CROSSENV+=	MAKEOBJDIRPREFIX=${OBJTREE} \
-		MACHINE_ARCH=${TARGET_ARCH} \
-		MACHINE=${TARGET} \
-		CPUTYPE=${TARGET_CPUTYPE}
-.if ${MK_GROFF} != "no"
-CROSSENV+=	GROFF_BIN_PATH=${WORLDTMP}/legacy/usr/bin \
-		GROFF_FONT_PATH=${WORLDTMP}/legacy/usr/share/groff_font \
-		GROFF_TMAC_PATH=${WORLDTMP}/legacy/usr/share/tmac
-.endif
-.if defined(TARGET_CFLAGS)
-CROSSENV+=	${TARGET_CFLAGS}
-.endif
-
-# bootstrap-tools stage
-BMAKEENV=	INSTALL="sh ${.CURDIR}/tools/install.sh" \
-		PATH=${BPATH}:${PATH} \
-		WORLDTMP=${WORLDTMP} \
-		MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}"
-# need to keep this in sync with targets/pseudo/bootstrap-tools/Makefile
-BSARGS= 	DESTDIR= \
-		BOOTSTRAPPING=${OSRELDATE} \
-		SSP_CFLAGS= \
-		MK_HTML=no NO_LINT=yes MK_MAN=no \
-		-DNO_PIC MK_PROFILE=no -DNO_SHARED \
-		-DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \
-		MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \
-		MK_LLDB=no MK_TESTS=no \
-		MK_INCLUDES=yes
-
-BMAKE=		MAKEOBJDIRPREFIX=${WORLDTMP} \
-		${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \
-		${BSARGS}
-
-# build-tools stage
-TMAKE=		MAKEOBJDIRPREFIX=${OBJTREE} \
-		${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \
-		TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
-		DESTDIR= \
-		BOOTSTRAPPING=${OSRELDATE} \
-		SSP_CFLAGS= \
-		-DNO_LINT \
-		-DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \
-		MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \
-		MK_LLDB=no MK_TESTS=no
-
-# cross-tools stage
-XMAKE=		TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \
-		TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
-		MK_GDB=no MK_TESTS=no
-
-# kernel-tools stage
-KTMAKEENV=	INSTALL="sh ${.CURDIR}/tools/install.sh" \
-		PATH=${BPATH}:${PATH} \
-		WORLDTMP=${WORLDTMP}
-KTMAKE=		TOOLS_PREFIX=${WORLDTMP} MAKEOBJDIRPREFIX=${WORLDTMP} \
-		${KTMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \
-		DESTDIR= \
-		BOOTSTRAPPING=${OSRELDATE} \
-		SSP_CFLAGS= \
-		MK_HTML=no -DNO_LINT MK_MAN=no \
-		-DNO_PIC MK_PROFILE=no -DNO_SHARED \
-		-DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no
-
-# world stage
-WMAKEENV=	${CROSSENV} \
-		_LDSCRIPTROOT= \
-		INSTALL="sh ${.CURDIR}/tools/install.sh" \
-		PATH=${TMPPATH}
-
-# make hierarchy
-HMAKE=		PATH=${TMPPATH} ${MAKE} LOCAL_MTREE=${LOCAL_MTREE:Q}
-.if defined(NO_ROOT)
-HMAKE+=		PATH=${TMPPATH} METALOG=${METALOG} -DNO_ROOT
-.endif
-
-.if defined(CROSS_TOOLCHAIN_PREFIX)
-CROSS_COMPILER_PREFIX?=${CROSS_TOOLCHAIN_PREFIX}
-CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX}
-.endif
-
-# If we do not have a bootstrap binutils (because the in-tree one does not
-# support the target architecture), provide a default cross-binutils prefix.
-# This allows aarch64 builds, for example, to automatically use the
-# aarch64-binutils port or package.
-.if !make(showconfig)
-.if !empty(BROKEN_OPTIONS:MBINUTILS_BOOTSTRAP) && \
-    !defined(CROSS_BINUTILS_PREFIX)
-CROSS_BINUTILS_PREFIX=/usr/local/${TARGET_ARCH}-freebsd/bin/
-.if !exists(${CROSS_BINUTILS_PREFIX})
-.error In-tree binutils does not support the ${TARGET_ARCH} architecture. Install the ${TARGET_ARCH}-binutils port or package or set CROSS_BINUTILS_PREFIX.
-.endif
-.endif
-.endif
-
-XCOMPILERS=	CC CXX CPP
-.for COMPILER in ${XCOMPILERS}
-.if defined(CROSS_COMPILER_PREFIX)
-X${COMPILER}?=	${CROSS_COMPILER_PREFIX}${${COMPILER}}
-.else
-X${COMPILER}?=	${${COMPILER}}
-.endif
-.endfor
-XBINUTILS=	AS AR LD NM OBJCOPY OBJDUMP RANLIB SIZE STRINGS
-.for BINUTIL in ${XBINUTILS}
-.if defined(CROSS_BINUTILS_PREFIX) && \
-    exists(${CROSS_BINUTILS_PREFIX}${${BINUTIL}})
-X${BINUTIL}?=	${CROSS_BINUTILS_PREFIX}${${BINUTIL}}
-.else
-X${BINUTIL}?=	${${BINUTIL}}
-.endif
-.endfor
-CROSSENV+=	CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCFLAGS} ${XCXXFLAGS}" \
-		DEPFLAGS="${DEPFLAGS}" \
-		CPP="${XCPP} ${XCFLAGS}" \
-		AS="${XAS}" AR="${XAR}" LD="${XLD}" NM=${XNM} \
-		OBJDUMP=${XOBJDUMP} OBJCOPY="${XOBJCOPY}" \
-		RANLIB=${XRANLIB} STRINGS=${XSTRINGS} \
-		SIZE="${XSIZE}"
-
-.if ${XCC:N${CCACHE_BIN}:M/*}
-.if defined(CROSS_BINUTILS_PREFIX)
-# In the case of xdev-build tools, CROSS_BINUTILS_PREFIX won't be a
-# directory, but the compiler will look in the right place for it's
-# tools so we don't need to tell it where to look.
-.if exists(${CROSS_BINUTILS_PREFIX})
-BFLAGS+=	-B${CROSS_BINUTILS_PREFIX}
-.endif
-.else
-BFLAGS+=	-B${WORLDTMP}/usr/bin
-.endif
-.if ${TARGET} == "arm"
-.if ${TARGET_ARCH:M*hf*} != ""
-TARGET_ABI=	gnueabihf
-.else
-TARGET_ABI=	gnueabi
-.endif
-.endif
-.if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc
-XCFLAGS+=	-isystem ${WORLDTMP}/usr/include -L${WORLDTMP}/usr/lib
-XCXXFLAGS+=	-I${WORLDTMP}/usr/include/c++/v1 -std=gnu++11 -L${WORLDTMP}/../lib/libc++
-# XXX: DEPFLAGS is a workaround for not properly passing CXXFLAGS to sub-makes
-# due to CXX="${XCXX} ${XCXXFLAGS}".  bsd.dep.mk does use CXXFLAGS when
-# building C++ files so this can come out if passing CXXFLAGS down is fixed.
-DEPFLAGS+=	-I${WORLDTMP}/usr/include/c++/v1
-.else
-TARGET_ABI?=	unknown
-TARGET_TRIPLE?=	${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0
-XCFLAGS+=	-target ${TARGET_TRIPLE}
-.endif
-XCFLAGS+=	--sysroot=${WORLDTMP} ${BFLAGS}
-XCXXFLAGS+=	--sysroot=${WORLDTMP} ${BFLAGS}
-.else
-.if defined(CROSS_BINUTILS_PREFIX) && exists(${CROSS_BINUTILS_PREFIX})
-BFLAGS+=	-B${CROSS_BINUTILS_PREFIX}
-XCFLAGS+=	${BFLAGS}
-XCXXFLAGS+=	${BFLAGS}
-.endif
-.endif # ${XCC:M/*}
-
-WMAKE=		${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP}
-
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
 # 32 bit world
 LIB32_OBJTREE=	${OBJTREE}${.CURDIR}/world32
 LIB32TMP=	${OBJTREE}${.CURDIR}/lib32
@@ -517,190 +63,7 @@ LIB32WMAKE=	${LIB32WMAKEENV} ${MAKE} ${L
 		MK_MAN=no MK_HTML=no
 LIB32IMAKE=	${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} \
 		MK_TOOLCHAIN=no ${IMAKE_INSTALL}
-.endif
-
-IMAKEENV=	${CROSSENV:N_LDSCRIPTROOT=*}
-IMAKE=		${IMAKEENV} ${MAKE} -f Makefile.inc1 \
-		${IMAKE_INSTALL} ${IMAKE_MTREE}
-.if empty(.MAKEFLAGS:M-n)
-IMAKEENV+=	PATH=${STRICTTMPPATH}:${INSTALLTMP} \
-		LD_LIBRARY_PATH=${INSTALLTMP} \
-		PATH_LOCALE=${INSTALLTMP}/locale
-IMAKE+=		__MAKE_SHELL=${INSTALLTMP}/sh
-.else
-IMAKEENV+=	PATH=${TMPPATH}:${INSTALLTMP}
-.endif
-.if defined(DB_FROM_SRC)
-INSTALLFLAGS+=	-N ${.CURDIR}/etc
-MTREEFLAGS+=	-N ${.CURDIR}/etc
-.endif
-_INSTALL_DDIR=	${DESTDIR}/${DISTDIR}
-INSTALL_DDIR=	${_INSTALL_DDIR:S://:/:g:C:/$::}
-.if defined(NO_ROOT)
-METALOG?=	${DESTDIR}/${DISTDIR}/METALOG
-IMAKE+=		-DNO_ROOT METALOG=${METALOG}
-INSTALLFLAGS+=	-U -M ${METALOG} -D ${INSTALL_DDIR}
-MTREEFLAGS+=	-W
-.endif
-.if defined(DB_FROM_SRC) || defined(NO_ROOT)
-IMAKE_INSTALL=	INSTALL="install ${INSTALLFLAGS}"
-IMAKE_MTREE=	MTREE_CMD="mtree ${MTREEFLAGS}"
-.endif
-
-# kernel stage
-KMAKEENV=	${WMAKEENV}
-KMAKE=		${KMAKEENV} ${MAKE} ${.MAKEFLAGS} ${KERNEL_FLAGS} KERNEL=${INSTKERNNAME}
 
-#
-# buildworld
-#
-# Attempt to rebuild the entire system, with reasonable chance of
-# success, regardless of how old your existing system is.
-#
-_worldtmp: .PHONY
-.if ${.CURDIR:C/[^,]//g} != ""
-#	The m4 build of sendmail files doesn't like it if ',' is used
-#	anywhere in the path of it's files.
-	@echo
-	@echo "*** Error: path to source tree contains a comma ','"
-	@echo
-	false
-.endif
-	@echo
-	@echo "--------------------------------------------------------------"
-	@echo ">>> Rebuilding the temporary build tree"
-	@echo "--------------------------------------------------------------"
-.if !defined(NO_CLEAN)
-	rm -rf ${WORLDTMP}
-.if defined(LIB32TMP)
-	rm -rf ${LIB32TMP}
-.endif
-.else
-	rm -rf ${WORLDTMP}/legacy/usr/include
-#	XXX - These can depend on any header file.
-	rm -f ${OBJTREE}${.CURDIR}/lib/libsysdecode/ioctl.c
-	rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/kdump_subr.c
-.endif
-.for _dir in \
-    lib lib/casper usr legacy/bin legacy/usr
-	mkdir -p ${WORLDTMP}/${_dir}
-.endfor
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
-	    -p ${WORLDTMP}/legacy/usr >/dev/null
-.if ${MK_GROFF} != "no"
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.groff.dist \
-	    -p ${WORLDTMP}/legacy/usr >/dev/null
-.endif
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
-	    -p ${WORLDTMP}/usr >/dev/null
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
-	    -p ${WORLDTMP}/usr/include >/dev/null
-	ln -sf ${.CURDIR}/sys ${WORLDTMP}
-.if ${MK_DEBUG_FILES} != "no"
-	# We could instead disable debug files for these build stages
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \
-	    -p ${WORLDTMP}/legacy/usr/lib >/dev/null
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \
-	    -p ${WORLDTMP}/usr/lib >/dev/null
-.endif
-.if ${MK_LIB32} != "no"
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
-	    -p ${WORLDTMP}/usr >/dev/null
-.if ${MK_DEBUG_FILES} != "no"
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
-	    -p ${WORLDTMP}/legacy/usr/lib/debug/usr >/dev/null
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
-	    -p ${WORLDTMP}/usr/lib/debug/usr >/dev/null
-.endif
-.endif
-.if ${MK_TESTS} != "no"
-	mkdir -p ${WORLDTMP}${TESTSBASE}
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \
-	    -p ${WORLDTMP}${TESTSBASE} >/dev/null
-.if ${MK_DEBUG_FILES} != "no"
-	mkdir -p ${WORLDTMP}/usr/lib/debug/${TESTSBASE}
-	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \
-	    -p ${WORLDTMP}/usr/lib/debug/${TESTSBASE} >/dev/null
-.endif
-.endif
-.for _mtree in ${LOCAL_MTREE}
-	mtree -deU -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null
-.endfor
-_legacy:
-	@echo
-	@echo "--------------------------------------------------------------"
-	@echo ">>> stage 1.1: legacy release compatibility shims"
-	@echo "--------------------------------------------------------------"
-	${_+_}cd ${.CURDIR}; ${BMAKE} legacy
-_bootstrap-tools:
-	@echo
-	@echo "--------------------------------------------------------------"
-	@echo ">>> stage 1.2: bootstrap tools"
-	@echo "--------------------------------------------------------------"
-	${_+_}cd ${.CURDIR}; ${BMAKE} bootstrap-tools
-_cleanobj:
-.if !defined(NO_CLEAN)
-	@echo
-	@echo "--------------------------------------------------------------"
-	@echo ">>> stage 2.1: cleaning up the object tree"
-	@echo "--------------------------------------------------------------"
-	${_+_}cd ${.CURDIR}; ${WMAKE} ${CLEANDIR}
-.if defined(LIB32TMP)
-	${_+_}cd ${.CURDIR}; ${LIB32WMAKE} -f Makefile.inc1 ${CLEANDIR}
-.endif
-.endif
-_obj:
-	@echo
-	@echo "--------------------------------------------------------------"
-	@echo ">>> stage 2.2: rebuilding the object tree"
-	@echo "--------------------------------------------------------------"
-	${_+_}cd ${.CURDIR}; ${WMAKE} obj
-_build-tools:
-	@echo
-	@echo "--------------------------------------------------------------"
-	@echo ">>> stage 2.3: build tools"
-	@echo "--------------------------------------------------------------"
-	${_+_}cd ${.CURDIR}; ${TMAKE} build-tools
-_cross-tools:
-	@echo
-	@echo "--------------------------------------------------------------"
-	@echo ">>> stage 3: cross tools"
-	@echo "--------------------------------------------------------------"
-	${_+_}cd ${.CURDIR}; ${XMAKE} cross-tools
-	${_+_}cd ${.CURDIR}; ${XMAKE} kernel-tools
-_includes:
-	@echo
-	@echo "--------------------------------------------------------------"
-	@echo ">>> stage 4.1: building includes"
-	@echo "--------------------------------------------------------------"
-# Special handling for SUBDIR_OVERRIDE in buildworld as they most likely need
-# headers from default SUBDIR.  Do SUBDIR_OVERRIDE includes last.
-	${_+_}cd ${.CURDIR}; ${WMAKE} SUBDIR_OVERRIDE= SHARED=symlinks \
-	    includes
-.if !empty(SUBDIR_OVERRIDE) && make(buildworld)
-	${_+_}cd ${.CURDIR}; ${WMAKE} SHARED=symlinks includes
-.endif
-_libraries:
-	@echo
-	@echo "--------------------------------------------------------------"
-	@echo ">>> stage 4.2: building libraries"
-	@echo "--------------------------------------------------------------"
-	${_+_}cd ${.CURDIR}; \
-	    ${WMAKE} -DNO_FSCHG MK_HTML=no -DNO_LINT MK_MAN=no \
-	    MK_PROFILE=no MK_TESTS=no MK_TESTS_SUPPORT=${MK_TESTS} libraries
-_depend:
-	@echo
-	@echo "--------------------------------------------------------------"
-	@echo ">>> stage 4.3: make dependencies"
-	@echo "--------------------------------------------------------------"
-	${_+_}cd ${.CURDIR}; ${WMAKE} depend
-everything:
-	@echo
-	@echo "--------------------------------------------------------------"
-	@echo ">>> stage 4.4: building everything"
-	@echo "--------------------------------------------------------------"
-	${_+_}cd ${.CURDIR}; _PARALLEL_SUBDIR_OK=1 ${WMAKE} all
-.if defined(LIB32TMP)
 build32: .PHONY
 	@echo
 	@echo "--------------------------------------------------------------"
@@ -771,1685 +134,3 @@ distribute32 install32: .MAKE .PHONY
 	    PROG=ld-elf32.so.1 ${LIB32IMAKE} ${.TARGET:S/32$//}
 	${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIB32IMAKE} \
 	    ${.TARGET:S/32$//}
-.endif
-
-WMAKE_TGTS=
-WMAKE_TGTS+=	_worldtmp _legacy
-.if empty(SUBDIR_OVERRIDE)
-WMAKE_TGTS+=	_bootstrap-tools
-.endif
-WMAKE_TGTS+=	_cleanobj _obj _build-tools _cross-tools
-WMAKE_TGTS+=	_includes _libraries
-.if !defined(NO_DEPEND)
-WMAKE_TGTS+=	_depend
-.endif
-WMAKE_TGTS+=	everything
-.if defined(LIB32TMP) && ${MK_LIB32} != "no" && empty(SUBDIR_OVERRIDE)
-WMAKE_TGTS+=	build32
-.endif
-
-buildworld: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue
-.ORDER: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue
-
-buildworld_prologue:
-	@echo "--------------------------------------------------------------"
-	@echo ">>> World build started on `LC_ALL=C date`"
-	@echo "--------------------------------------------------------------"
-
-buildworld_epilogue:
-	@echo
-	@echo "--------------------------------------------------------------"
-	@echo ">>> World build completed on `LC_ALL=C date`"
-	@echo "--------------------------------------------------------------"
-
-#
-# We need to have this as a target because the indirection between Makefile
-# and Makefile.inc1 causes the correct PATH to be used, rather than a
-# modification of the current environment's PATH.  In addition, we need
-# to quote multiword values.
-#
-buildenvvars: .PHONY
-	@echo ${WMAKEENV:Q} ${.MAKE.EXPORTED:@v@$v=\"${$v}\"@}
-
-.if ${.TARGETS:Mbuildenv}
-.if ${.MAKEFLAGS:M-j}
-.error The buildenv target is incompatible with -j
-.endif
-.endif
-BUILDENV_DIR?=	${.CURDIR}
-buildenv: .PHONY
-	@echo Entering world for ${TARGET_ARCH}:${TARGET}
-.if ${BUILDENV_SHELL:M*zsh*}
-	@echo For ZSH you must run: export CPUTYPE=${TARGET_CPUTYPE}
-.endif
-	@cd ${BUILDENV_DIR} && env ${WMAKEENV} BUILDENV=1 ${BUILDENV_SHELL} \
-	    || true
-
-TOOLCHAIN_TGTS=	${WMAKE_TGTS:N_depend:Neverything:Nbuild32}
-toolchain: ${TOOLCHAIN_TGTS}
-kernel-toolchain: ${TOOLCHAIN_TGTS:N_includes:N_libraries}
-
-#
-# installcheck
-#
-# Checks to be sure system is ready for installworld/installkernel.
-#
-installcheck: _installcheck_world _installcheck_kernel
-_installcheck_world:
-_installcheck_kernel:
-
-#
-# Require DESTDIR to be set if installing for a different architecture or
-# using the user/group database in the source tree.
-#
-.if ${TARGET_ARCH} != ${MACHINE_ARCH} || ${TARGET} != ${MACHINE} || \
-    defined(DB_FROM_SRC)
-.if !make(distributeworld)
-_installcheck_world: __installcheck_DESTDIR
-_installcheck_kernel: __installcheck_DESTDIR
-__installcheck_DESTDIR:
-.if !defined(DESTDIR) || empty(DESTDIR)
-	@echo "ERROR: Please set DESTDIR!"; \
-	false
-.endif
-.endif
-.endif
-
-.if !defined(DB_FROM_SRC)
-#
-# Check for missing UIDs/GIDs.
-#
-CHECK_UIDS=	auditdistd
-CHECK_GIDS=	audit
-.if ${MK_SENDMAIL} != "no"
-CHECK_UIDS+=	smmsp
-CHECK_GIDS+=	smmsp
-.endif
-.if ${MK_PF} != "no"
-CHECK_UIDS+=	proxy
-CHECK_GIDS+=	proxy authpf
-.endif
-.if ${MK_UNBOUND} != "no"
-CHECK_UIDS+=	unbound
-CHECK_GIDS+=	unbound
-.endif
-_installcheck_world: __installcheck_UGID
-__installcheck_UGID:
-.for uid in ${CHECK_UIDS}
-	@if ! `id -u ${uid} >/dev/null 2>&1`; then \
-		echo "ERROR: Required ${uid} user is missing, see /usr/src/UPDATING."; \
-		false; \
-	fi
-.endfor
-.for gid in ${CHECK_GIDS}
-	@if ! `find / -prune -group ${gid} >/dev/null 2>&1`; then \
-		echo "ERROR: Required ${gid} group is missing, see /usr/src/UPDATING."; \
-		false; \
-	fi
-.endfor
-.endif
-
-#
-# Required install tools to be saved in a scratch dir for safety.
-#
-.if ${MK_ZONEINFO} != "no"
-_zoneinfo=	zic tzsetup
-.endif
-
-ITOOLS=	[ awk cap_mkdb cat chflags chmod chown cmp cp \
-	date echo egrep find grep id install ${_install-info} \
-	ln make mkdir mtree mv pwd_mkdb \
-	rm sed services_mkdb sh strip sysctl test true uname wc ${_zoneinfo} \
-	${LOCAL_ITOOLS}
-
-# Needed for share/man
-.if ${MK_MAN} != "no"
-ITOOLS+=makewhatis
-.endif
-
-#
-# distributeworld
-#
-# Distributes everything compiled by a `buildworld'.
-#
-# installworld
-#
-# Installs everything compiled by a 'buildworld'.
-#
-
-# Non-base distributions produced by the base system
-EXTRA_DISTRIBUTIONS=	doc
-.if defined(LIB32TMP) && ${MK_LIB32} != "no"
-EXTRA_DISTRIBUTIONS+=	lib32
-.endif
-.if ${MK_TESTS} != "no"
-EXTRA_DISTRIBUTIONS+=	tests
-.endif
-
-DEBUG_DISTRIBUTIONS=
-.if ${MK_DEBUG_FILES} != "no"
-DEBUG_DISTRIBUTIONS+=	base ${EXTRA_DISTRIBUTIONS:S,doc,,:S,tests,,}
-.endif
-
-MTREE_MAGIC?=	mtree 2.0
-
-distributeworld installworld: _installcheck_world
-	mkdir -p ${INSTALLTMP}
-	progs=$$(for prog in ${ITOOLS}; do \
-		if progpath=`which $$prog`; then \
-			echo $$progpath; \
-		else \
-			echo "Required tool $$prog not found in PATH." >&2; \
-			exit 1; \
-		fi; \
-	    done); \
-	libs=$$(ldd -f "%o %p\n" -f "%o %p\n" $$progs 2>/dev/null | sort -u | \
-	    while read line; do \
-		set -- $$line; \
-		if [ "$$2 $$3" != "not found" ]; then \
-			echo $$2; \
-		else \
-			echo "Required library $$1 not found." >&2; \
-			exit 1; \
-		fi; \
-	    done); \
-	cp $$libs $$progs ${INSTALLTMP}
-	cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-head mailing list