Changeset View
Changeset View
Standalone View
Standalone View
Makefile.inc1
| Show First 20 Lines • Show All 51 Lines • ▼ Show 20 Lines | |||||
| .endif | .endif | ||||
| .if make(showconfig) || make(test-system-*) | .if make(showconfig) || make(test-system-*) | ||||
| _MKSHOWCONFIG= t | _MKSHOWCONFIG= t | ||||
| .endif | .endif | ||||
| SRCDIR?= ${.CURDIR} | SRCDIR?= ${.CURDIR} | ||||
| LOCALBASE?= /usr/local | LOCALBASE?= /usr/local | ||||
| TIME_ENV ?= time env | |||||
| # you can disable time logging by setting this variable to an emypty value | |||||
| TIME_ENV ?= ${.CURDIR}/tools/build/time-buildworld.sh | |||||
| .include "share/mk/src.tools.mk" | .include "share/mk/src.tools.mk" | ||||
| # Cross toolchain changes must be in effect before bsd.compiler.mk | # Cross toolchain changes must be in effect before bsd.compiler.mk | ||||
| # so that gets the right CC, and pass CROSS_TOOLCHAIN to submakes. | # so that gets the right CC, and pass CROSS_TOOLCHAIN to submakes. | ||||
| .if defined(CROSS_TOOLCHAIN) | .if defined(CROSS_TOOLCHAIN) | ||||
| .if exists(${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk) | .if exists(${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk) | ||||
| .include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk" | .include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk" | ||||
| .elif exists(${CROSS_TOOLCHAIN}) | .elif exists(${CROSS_TOOLCHAIN}) | ||||
| ▲ Show 20 Lines • Show All 714 Lines • ▼ Show 20 Lines | BSARGS= DESTDIR= \ | ||||
| MK_SSP=no \ | MK_SSP=no \ | ||||
| MK_TESTS=no \ | MK_TESTS=no \ | ||||
| MK_UBSAN=no \ | MK_UBSAN=no \ | ||||
| MK_WERROR=no \ | MK_WERROR=no \ | ||||
| MK_INCLUDES=yes \ | MK_INCLUDES=yes \ | ||||
| MK_MAN_UTILS=yes | MK_MAN_UTILS=yes | ||||
| BMAKE= \ | BMAKE= \ | ||||
| ${TIME_ENV} ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ | env TIME_MESSAGE="general bmake" ${TIME_ENV} ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ | ||||
| ${BSARGS} | ${BSARGS} | ||||
| .if empty(.MAKEOVERRIDES:MMK_LLVM_TARGET_ALL) | .if empty(.MAKEOVERRIDES:MMK_LLVM_TARGET_ALL) | ||||
| BMAKE+= MK_LLVM_TARGET_ALL=no | BMAKE+= MK_LLVM_TARGET_ALL=no | ||||
| .endif | .endif | ||||
| # build-tools stage | # build-tools stage | ||||
| TMAKE= \ | TMAKE= \ | ||||
| ${TIME_ENV} ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ | env TIME_MESSAGE="general tmake" ${TIME_ENV} ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ | ||||
| TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ||||
| DESTDIR= \ | DESTDIR= \ | ||||
| BOOTSTRAPPING=${BOOTSTRAPPING_OSRELDATE} \ | BOOTSTRAPPING=${BOOTSTRAPPING_OSRELDATE} \ | ||||
| BWPHASE=${.TARGET:C,^_,,} \ | BWPHASE=${.TARGET:C,^_,,} \ | ||||
| -DNO_CPU_CFLAGS \ | -DNO_CPU_CFLAGS \ | ||||
| MK_ASAN=no \ | MK_ASAN=no \ | ||||
| MK_CTF=no \ | MK_CTF=no \ | ||||
| MK_CLANG_EXTRAS=no \ | MK_CLANG_EXTRAS=no \ | ||||
| Show All 16 Lines | XMAKE= ${BMAKE} \ | ||||
| MK_TESTS=no | MK_TESTS=no | ||||
| # kernel-tools stage | # kernel-tools stage | ||||
| KTMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ | KTMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ | ||||
| PATH=${BPATH:Q}:${PATH:Q} \ | PATH=${BPATH:Q}:${PATH:Q} \ | ||||
| WORLDTMP=${WORLDTMP} \ | WORLDTMP=${WORLDTMP} \ | ||||
| MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" | MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" | ||||
| KTMAKE= ${TIME_ENV} \ | KTMAKE= env TIME_MESSAGE="general ktmake" ${TIME_ENV} \ | ||||
| TOOLS_PREFIX=${TOOLS_PREFIX_UNDEF:U${WORLDTMP}} \ | TOOLS_PREFIX=${TOOLS_PREFIX_UNDEF:U${WORLDTMP}} \ | ||||
| ${KTMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ | ${KTMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ | ||||
| DESTDIR= \ | DESTDIR= \ | ||||
| OBJTOP='${WORLDTMP}/obj-kernel-tools' \ | OBJTOP='${WORLDTMP}/obj-kernel-tools' \ | ||||
| OBJROOT='$${OBJTOP}/' \ | OBJROOT='$${OBJTOP}/' \ | ||||
| UNIVERSE_TOOLCHAIN_PATH=${UNIVERSE_TOOLCHAIN_PATH} \ | UNIVERSE_TOOLCHAIN_PATH=${UNIVERSE_TOOLCHAIN_PATH} \ | ||||
| MAKEOBJDIRPREFIX= \ | MAKEOBJDIRPREFIX= \ | ||||
| BOOTSTRAPPING=${BOOTSTRAPPING_OSRELDATE} \ | BOOTSTRAPPING=${BOOTSTRAPPING_OSRELDATE} \ | ||||
| ▲ Show 20 Lines • Show All 117 Lines • ▼ Show 20 Lines | |||||
| .if !defined(CROSSBUILD_HOST) | .if !defined(CROSSBUILD_HOST) | ||||
| @cp -f /usr/include/osreldate.h ${.TARGET} | @cp -f /usr/include/osreldate.h ${.TARGET} | ||||
| .else | .else | ||||
| @echo "#ifndef __FreeBSD_version" > ${.TARGET} | @echo "#ifndef __FreeBSD_version" > ${.TARGET} | ||||
| @echo "#define __FreeBSD_version ${OSRELDATE}" >> ${.TARGET} | @echo "#define __FreeBSD_version ${OSRELDATE}" >> ${.TARGET} | ||||
| @echo "#endif" >> ${.TARGET} | @echo "#endif" >> ${.TARGET} | ||||
| .endif | .endif | ||||
| WMAKE= ${TIME_ENV} ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ | WMAKE= env TIME_MESSAGE="general wmake" ${TIME_ENV} ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ | ||||
| BWPHASE=${.TARGET:C,^_,,} \ | BWPHASE=${.TARGET:C,^_,,} \ | ||||
| DESTDIR=${WORLDTMP} | DESTDIR=${WORLDTMP} | ||||
| IMAKEENV= ${CROSSENV} | IMAKEENV= ${CROSSENV} | ||||
| IMAKE= ${TIME_ENV} ${IMAKEENV} ${MAKE} -f Makefile.inc1 \ | IMAKE= env TIME_MESSAGE="general imake" ${TIME_ENV} ${IMAKEENV} ${MAKE} -f Makefile.inc1 \ | ||||
| ${IMAKE_INSTALL} ${IMAKE_MTREE} | ${IMAKE_INSTALL} ${IMAKE_MTREE} | ||||
| .if empty(.MAKEFLAGS:M-n) | .if empty(.MAKEFLAGS:M-n) | ||||
| IMAKEENV+= PATH=${STRICTTMPPATH:Q}:${INSTALLTMP:Q} \ | IMAKEENV+= PATH=${STRICTTMPPATH:Q}:${INSTALLTMP:Q} \ | ||||
| LD_LIBRARY_PATH=${INSTALLTMP:Q} \ | LD_LIBRARY_PATH=${INSTALLTMP:Q} \ | ||||
| PATH_LOCALE=${INSTALLTMP}/locale | PATH_LOCALE=${INSTALLTMP}/locale | ||||
| IMAKE+= __MAKE_SHELL=${INSTALLTMP}/sh | IMAKE+= __MAKE_SHELL=${INSTALLTMP}/sh | ||||
| .else | .else | ||||
| IMAKEENV+= PATH=${TMPPATH:Q}:${INSTALLTMP:Q} | IMAKEENV+= PATH=${TMPPATH:Q}:${INSTALLTMP:Q} | ||||
| ▲ Show 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | |||||
| DISTR_MTREE= ${DISTR_MTREECMD} ${DISTR_MTREEFLAGS} | DISTR_MTREE= ${DISTR_MTREECMD} ${DISTR_MTREEFLAGS} | ||||
| WORLDTMP_MTREE= ${DISTR_MTREECMD} ${WORLDTMP_MTREEFLAGS} | WORLDTMP_MTREE= ${DISTR_MTREECMD} ${WORLDTMP_MTREEFLAGS} | ||||
| DESTDIR_MTREE= ${DISTR_MTREECMD} ${DESTDIR_MTREEFLAGS} | DESTDIR_MTREE= ${DISTR_MTREECMD} ${DESTDIR_MTREEFLAGS} | ||||
| METALOG_SORT_CMD= env -i LC_COLLATE=C sort | METALOG_SORT_CMD= env -i LC_COLLATE=C sort | ||||
| # kernel stage | # kernel stage | ||||
| KMAKEENV= ${WMAKEENV:NSYSROOT=*} | KMAKEENV= ${WMAKEENV:NSYSROOT=*} | ||||
| KMAKE= ${TIME_ENV} ${KMAKEENV} ${MAKE} ${.MAKEFLAGS} ${KERNEL_FLAGS} KERNEL=${INSTKERNNAME} | KMAKE= env TIME_MESSAGE="general kmake" ${TIME_ENV} ${KMAKEENV} ${MAKE} ${.MAKEFLAGS} ${KERNEL_FLAGS} KERNEL=${INSTKERNNAME} | ||||
| # | # | ||||
| # buildworld | # buildworld | ||||
| # | # | ||||
| # Attempt to rebuild the entire system, with reasonable chance of | # Attempt to rebuild the entire system, with reasonable chance of | ||||
| # success, regardless of how old your existing system is. | # success, regardless of how old your existing system is. | ||||
| # | # | ||||
| _sanity_check: .PHONY .MAKE | _sanity_check: .PHONY .MAKE | ||||
| ▲ Show 20 Lines • Show All 68 Lines • ▼ Show 20 Lines | # tools in $WORLDTMP for the tools that we don't build during bootstrap-tools | ||||
| ${_+_}cd ${.CURDIR}/tools/build; \ | ${_+_}cd ${.CURDIR}/tools/build; \ | ||||
| ${MAKE} DIRPRFX=tools/build/ DESTDIR=${WORLDTMP}/legacy host-symlinks | ${MAKE} DIRPRFX=tools/build/ DESTDIR=${WORLDTMP}/legacy host-symlinks | ||||
| _legacy: | _legacy: | ||||
| @echo | @echo | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| @echo ">>> stage 1.1: legacy release compatibility shims" | @echo ">>> stage 1.1: legacy release compatibility shims" | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| ${_+_}cd ${.CURDIR}; ${BMAKE} legacy | ${_+_}cd ${.CURDIR}; env STAGE_MESSAGE="1.1 legacy release compatibility shims" ${BMAKE} legacy | ||||
| _bootstrap-tools: | _bootstrap-tools: | ||||
| @echo | @echo | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| @echo ">>> stage 1.2: bootstrap tools" | @echo ">>> stage 1.2: bootstrap tools" | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| .if ${MK_CLEAN} != "yes" | .if ${MK_CLEAN} != "yes" | ||||
| ${_+_}cd ${.CURDIR}; ${BMAKE} _NO_INCLUDE_COMPILERMK=t _cleanobj_fast_depend_hack | ${_+_}cd ${.CURDIR}; ${BMAKE} _NO_INCLUDE_COMPILERMK=t _cleanobj_fast_depend_hack | ||||
| .endif | .endif | ||||
| ${_+_}cd ${.CURDIR}; ${BMAKE} bootstrap-tools | ${_+_}cd ${.CURDIR}; env STAGE_MESSAGE="1.2 bootstrap tools" ${BMAKE} bootstrap-tools | ||||
| mkdir -p ${WORLDTMP}/usr ${WORLDTMP}/lib/geom ${WORLDTMP}/bin | mkdir -p ${WORLDTMP}/usr ${WORLDTMP}/lib/geom ${WORLDTMP}/bin | ||||
| ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ | ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ | ||||
| -p ${WORLDTMP}/usr >/dev/null | -p ${WORLDTMP}/usr >/dev/null | ||||
| ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \ | ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \ | ||||
| -p ${WORLDTMP}/usr/include >/dev/null | -p ${WORLDTMP}/usr/include >/dev/null | ||||
| .for d in ${LIBCOMPAT_INCLUDE_DIRS} | .for d in ${LIBCOMPAT_INCLUDE_DIRS} | ||||
| mkdir -p ${WORLDTMP}/usr/include/${d} | mkdir -p ${WORLDTMP}/usr/include/${d} | ||||
| .endfor | .endfor | ||||
| ln -sf ${.CURDIR}/sys ${WORLDTMP} | ln -sf ${.CURDIR}/sys ${WORLDTMP} | ||||
| .if ${MK_DEBUG_FILES} != "no" | .if ${MK_DEBUG_FILES} != "no" | ||||
| ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ | ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ | ||||
| -p ${WORLDTMP}/usr/lib >/dev/null | -p ${WORLDTMP}/usr/lib >/dev/null | ||||
| .endif | .endif | ||||
| .for _mtree in ${LOCAL_MTREE} | .for _mtree in ${LOCAL_MTREE} | ||||
| ${WORLDTMP_MTREE} -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null | ${WORLDTMP_MTREE} -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null | ||||
| .endfor | .endfor | ||||
| _cleanobj: | _cleanobj: | ||||
| .if ${MK_CLEAN} == "yes" | .if ${MK_CLEAN} == "yes" | ||||
| @echo | @echo | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| @echo ">>> stage 2.1: cleaning up the object tree" | @echo ">>> stage 2.1: cleaning up the object tree" | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| # Avoid including bsd.compiler.mk in clean and obj with _NO_INCLUDE_COMPILERMK | # Avoid including bsd.compiler.mk in clean and obj with _NO_INCLUDE_COMPILERMK | ||||
| # since the restricted $PATH might not contain a valid cc binary | # since the restricted $PATH might not contain a valid cc binary | ||||
| ${_+_}cd ${.CURDIR}; ${WMAKE} _NO_INCLUDE_COMPILERMK=t ${CLEANDIR} | ${_+_}cd ${.CURDIR}; env STAGE_MESSAGE="2.1 cleaning up the object tree" ${WMAKE} _NO_INCLUDE_COMPILERMK=t ${CLEANDIR} | ||||
| .for LIBCOMPAT in ${_LIBCOMPATS} | .for LIBCOMPAT in ${_LIBCOMPATS} | ||||
| ${_+_}cd ${.CURDIR}; ${LIB${LIBCOMPAT}WMAKE} _NO_INCLUDE_COMPILERMK=t -f Makefile.inc1 ${CLEANDIR} | ${_+_}cd ${.CURDIR}; ${LIB${LIBCOMPAT}WMAKE} _NO_INCLUDE_COMPILERMK=t -f Makefile.inc1 ${CLEANDIR} | ||||
| .endfor | .endfor | ||||
| .else | .else | ||||
| ${_+_}cd ${.CURDIR}; ${WMAKE} _NO_INCLUDE_COMPILERMK=t _cleanobj_fast_depend_hack | ${_+_}cd ${.CURDIR}; ${WMAKE} _NO_INCLUDE_COMPILERMK=t _cleanobj_fast_depend_hack | ||||
| .endif # ${MK_CLEAN} == "yes" | .endif # ${MK_CLEAN} == "yes" | ||||
| _obj: | _obj: | ||||
| @echo | @echo | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| @echo ">>> stage 2.2: rebuilding the object tree" | @echo ">>> stage 2.2: rebuilding the object tree" | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| ${_+_}cd ${.CURDIR}; ${WMAKE} _NO_INCLUDE_COMPILERMK=t obj | ${_+_}cd ${.CURDIR}; env STAGE_MESSAGE="2.2 rebuilding the object tree" ${WMAKE} _NO_INCLUDE_COMPILERMK=t obj | ||||
| _build-tools: | _build-tools: | ||||
| @echo | @echo | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| @echo ">>> stage 2.3: build tools" | @echo ">>> stage 2.3: build tools" | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| ${_+_}cd ${.CURDIR}; ${TMAKE} build-tools | ${_+_}cd ${.CURDIR}; env STAGE_MESSAGE="2.3 build tools" ${TMAKE} build-tools | ||||
| _cross-tools: | _cross-tools: | ||||
| @echo | @echo | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| @echo ">>> stage 3: cross tools" | @echo ">>> stage 3: cross tools" | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| @rm -f ${OBJTOP}/toolchain-metadata.mk | @rm -f ${OBJTOP}/toolchain-metadata.mk | ||||
| ${_+_}cd ${.CURDIR}; ${XMAKE} cross-tools | ${_+_}cd ${.CURDIR}; env STAGE_MESSAGE="3 cross tools" ${XMAKE} cross-tools | ||||
| ${_+_}cd ${.CURDIR}; ${XMAKE} kernel-tools | ${_+_}cd ${.CURDIR}; ${XMAKE} kernel-tools | ||||
| _build-metadata: | _build-metadata: | ||||
| @echo | @echo | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| @echo ">>> stage 3.1: recording build metadata" | @echo ">>> stage 3.1: recording build metadata" | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| ${_+_}cd ${.CURDIR}; ${WMAKE} toolchain-metadata.mk | ${_+_}cd ${.CURDIR}; env STAGE_MESSAGE="3.1: recording build metadata" ${WMAKE} toolchain-metadata.mk | ||||
| ${_+_}cd ${.CURDIR}; ${WMAKE} host-osreldate.h | ${_+_}cd ${.CURDIR}; ${WMAKE} host-osreldate.h | ||||
| _includes: | _includes: | ||||
| @echo | @echo | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| @echo ">>> stage 4.1: building includes" | @echo ">>> stage 4.1: building includes" | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| # Special handling for SUBDIR_OVERRIDE in buildworld as they most likely need | # Special handling for SUBDIR_OVERRIDE in buildworld as they most likely need | ||||
| # headers from default SUBDIR. Do SUBDIR_OVERRIDE includes last. | # headers from default SUBDIR. Do SUBDIR_OVERRIDE includes last. | ||||
| ${_+_}cd ${.CURDIR}; ${WMAKE} SUBDIR_OVERRIDE= SHARED=symlinks \ | ${_+_}cd ${.CURDIR}; env STAGE_MESSAGE="4.1 building includes" ${WMAKE} SUBDIR_OVERRIDE= SHARED=symlinks \ | ||||
| MK_INCLUDES=yes includes | MK_INCLUDES=yes includes | ||||
| .if !empty(SUBDIR_OVERRIDE) && make(buildworld) | .if !empty(SUBDIR_OVERRIDE) && make(buildworld) | ||||
| ${_+_}cd ${.CURDIR}; ${WMAKE} MK_INCLUDES=yes SHARED=symlinks includes | ${_+_}cd ${.CURDIR}; ${WMAKE} MK_INCLUDES=yes SHARED=symlinks includes | ||||
| .endif | .endif | ||||
| ${_+_}cd ${.CURDIR}; ${WMAKE} test-includes | ${_+_}cd ${.CURDIR}; ${WMAKE} test-includes | ||||
| _libraries: | _libraries: | ||||
| @echo | @echo | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| @echo ">>> stage 4.2: building libraries" | @echo ">>> stage 4.2: building libraries" | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| ${_+_}cd ${.CURDIR}; \ | ${_+_}cd ${.CURDIR}; \ | ||||
| ${WMAKE} -DNO_FSCHG MK_HTML=no MK_MAN=no \ | env STAGE_MESSAGE="4.2 building libraries" ${WMAKE} -DNO_FSCHG MK_HTML=no MK_MAN=no \ | ||||
| MK_TESTS=no MK_TESTS_SUPPORT=${MK_TESTS_SUPPORT} \ | MK_TESTS=no MK_TESTS_SUPPORT=${MK_TESTS_SUPPORT} \ | ||||
| libraries | libraries | ||||
| everything: .PHONY | everything: .PHONY | ||||
| @echo | @echo | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| @echo ">>> stage 4.4: building everything" | @echo ">>> stage 4.4: building everything" | ||||
| @echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
| ${_+_}cd ${.CURDIR}; _PARALLEL_SUBDIR_OK=1 ${WMAKE} all | ${_+_}cd ${.CURDIR}; _PARALLEL_SUBDIR_OK=1 env STAGE_MESSAGE="4.4 building everything" ${WMAKE} all | ||||
| WMAKE_TGTS= | WMAKE_TGTS= | ||||
| .if !defined(WORLDFAST) | .if !defined(WORLDFAST) | ||||
| WMAKE_TGTS+= _sanity_check _cleanworldtmp _worldtmp _legacy | WMAKE_TGTS+= _sanity_check _cleanworldtmp _worldtmp _legacy | ||||
| .if empty(SUBDIR_OVERRIDE) | .if empty(SUBDIR_OVERRIDE) | ||||
| WMAKE_TGTS+= _bootstrap-tools | WMAKE_TGTS+= _bootstrap-tools | ||||
| .endif | .endif | ||||
| WMAKE_TGTS+= _cleanobj | WMAKE_TGTS+= _cleanobj | ||||
| ▲ Show 20 Lines • Show All 1,704 Lines • ▼ Show 20 Lines | .for _tool in \ | ||||
| ${_lld} \ | ${_lld} \ | ||||
| ${_elftctools} \ | ${_elftctools} \ | ||||
| ${_dtrace_tools} \ | ${_dtrace_tools} \ | ||||
| ${_btxld} \ | ${_btxld} \ | ||||
| ${_usb_tools} | ${_usb_tools} | ||||
| ${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \ | ${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \ | ||||
| cd ${.CURDIR}/${_tool}; \ | cd ${.CURDIR}/${_tool}; \ | ||||
| if [ -z "${NO_OBJWALK}" ]; then ${MAKE} DIRPRFX=${_tool}/ obj; fi; \ | if [ -z "${NO_OBJWALK}" ]; then ${MAKE} DIRPRFX=${_tool}/ obj; fi; \ | ||||
| ${MAKE} DIRPRFX=${_tool}/ all; \ | env STAGE_MESSAGE="3.0 cross tool ${_tool}" ${MAKE} DIRPRFX=${_tool}/ all; \ | ||||
| ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${WORLDTMP} install | ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${WORLDTMP} install | ||||
| .endfor | .endfor | ||||
| # | # | ||||
| # native-xtools is the current target for qemu-user cross builds of ports | # native-xtools is the current target for qemu-user cross builds of ports | ||||
| # via poudriere and the imgact_binmisc kernel module. | # via poudriere and the imgact_binmisc kernel module. | ||||
| # This target merely builds a toolchan/sysroot, then builds the tools it wants | # This target merely builds a toolchan/sysroot, then builds the tools it wants | ||||
| # with the options it wants in a special MAKEOBJDIRPREFIX, using the toolchain | # with the options it wants in a special MAKEOBJDIRPREFIX, using the toolchain | ||||
| ▲ Show 20 Lines • Show All 187 Lines • ▼ Show 20 Lines | |||||
| # | # | ||||
| # libraries - build all libraries, and install them under ${DESTDIR}. | # libraries - build all libraries, and install them under ${DESTDIR}. | ||||
| # | # | ||||
| # The list of libraries with dependents (${_prebuild_libs}) and their | # The list of libraries with dependents (${_prebuild_libs}) and their | ||||
| # interdependencies (__L) are built automatically by the | # interdependencies (__L) are built automatically by the | ||||
| # ${.CURDIR}/tools/make_libdeps.sh script. | # ${.CURDIR}/tools/make_libdeps.sh script. | ||||
| # | # | ||||
| # the normal libraries runs as stage 4.2.x, and the libcompat as stage 4.3.x | |||||
| libraries: .MAKE .PHONY | libraries: .MAKE .PHONY | ||||
| ${_+_}cd ${.CURDIR}; \ | ${_+_}cd ${.CURDIR}; \ | ||||
| ${MAKE} -f Makefile.inc1 _prereq_libs; \ | echo ">>> stage 4.2.1: _prereq_libs"; env TIME_MESSAGE="libraries _prereq_libs" STAGE_MESSAGE="4.2.1" \ | ||||
| ${MAKE} -f Makefile.inc1 _startup_libs; \ | ${TIME_ENV} ${MAKE} -f Makefile.inc1 _prereq_libs; \ | ||||
| ${MAKE} -f Makefile.inc1 _prebuild_libs -DLIBCRYPTO_WITHOUT_SUBDIRS; \ | echo ">>> stage 4.2.2: _startup_libs"; env TIME_MESSAGE="libraries _startup_libs" STAGE_MESSAGE="4.2.2" \ | ||||
| ${MAKE} -f Makefile.inc1 _generic_libs | ${TIME_ENV} ${MAKE} -f Makefile.inc1 _startup_libs; \ | ||||
| echo ">>> stage 4.2.3: _prebuild_libs"; env TIME_MESSAGE="libraries _prebuild_libs" STAGE_MESSAGE="4.2.3" \ | |||||
| ${TIME_ENV} ${MAKE} -f Makefile.inc1 _prebuild_libs -DLIBCRYPTO_WITHOUT_SUBDIRS; \ | |||||
| echo ">>> stage 4.2.4: _generic_libs"; env TIME_MESSAGE="libraries _generic_libs" STAGE_MESSAGE="4.2.4" \ | |||||
| ${TIME_ENV} ${MAKE} -f Makefile.inc1 _generic_libs | |||||
| # | # | ||||
| # static libgcc.a prerequisite for shared libc | # static libgcc.a prerequisite for shared libc | ||||
| # | # | ||||
| _prereq_libs= lib/libcompiler_rt | _prereq_libs= lib/libcompiler_rt | ||||
| .if ${MK_SSP} != "no" | .if ${MK_SSP} != "no" | ||||
| _prereq_libs+= lib/libssp_nonshared | _prereq_libs+= lib/libssp_nonshared | ||||
| .endif | .endif | ||||
| ▲ Show 20 Lines • Show All 332 Lines • ▼ Show 20 Lines | |||||
| .endfor | .endfor | ||||
| .for _lib in ${_startup_libs} ${_prebuild_libs} ${_generic_libs} | .for _lib in ${_startup_libs} ${_prebuild_libs} ${_generic_libs} | ||||
| ${_lib}__L: .PHONY .MAKE | ${_lib}__L: .PHONY .MAKE | ||||
| .if !defined(_MKSHOWCONFIG) && exists(${.CURDIR}/${_lib}) | .if !defined(_MKSHOWCONFIG) && exists(${.CURDIR}/${_lib}) | ||||
| ${_+_}@${ECHODIR} "===> ${_lib} (obj,all,install)"; \ | ${_+_}@${ECHODIR} "===> ${_lib} (obj,all,install)"; \ | ||||
| cd ${.CURDIR}/${_lib}; \ | cd ${.CURDIR}/${_lib}; \ | ||||
| if [ -z "${NO_OBJWALK}" ]; then ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ obj; fi; \ | if [ -z "${NO_OBJWALK}" ]; then ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ obj; fi; \ | ||||
| ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ all; \ | env TIME_MESSAGE="sublib ${_lib}" ${TIME_ENV} ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ all; \ | ||||
| ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ install | ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ install | ||||
| .endif | .endif | ||||
| .endfor | .endfor | ||||
| _prereq_libs: ${_prereq_libs:S/$/__PL/} | _prereq_libs: ${_prereq_libs:S/$/__PL/} | ||||
| _startup_libs: ${_startup_libs:S/$/__L/} | _startup_libs: ${_startup_libs:S/$/__L/} | ||||
| _prebuild_libs: ${_prebuild_libs:S/$/__L/} | _prebuild_libs: ${_prebuild_libs:S/$/__L/} | ||||
| _generic_libs: ${_generic_libs:S/$/__L/} | _generic_libs: ${_generic_libs:S/$/__L/} | ||||
| ▲ Show 20 Lines • Show All 480 Lines • Show Last 20 Lines | |||||