Changeset View
Changeset View
Standalone View
Standalone View
head/Makefile.inc1
# | # | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
# | # | ||||
# Make command line options: | # Make command line options: | ||||
# -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir | # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir | ||||
# -DNO_CLEAN do not clean at all | # -DNO_CLEAN do not clean at all | ||||
# -DDB_FROM_SRC use the user/group databases in src/etc instead of | # -DDB_FROM_SRC use the user/group databases in src/etc instead of | ||||
# the system database when installing. | # the system database when installing. | ||||
# -DNO_SHARE do not go into share subdir | # -DNO_SHARE do not go into share subdir | ||||
# -DKERNFAST define NO_KERNEL{CONFIG,CLEAN,DEPEND,OBJ} | # -DKERNFAST define NO_KERNEL{CONFIG,CLEAN,OBJ} | ||||
# -DNO_KERNELCONFIG do not run config in ${MAKE} buildkernel | # -DNO_KERNELCONFIG do not run config in ${MAKE} buildkernel | ||||
# -DNO_KERNELCLEAN do not run ${MAKE} clean 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_KERNELOBJ do not run ${MAKE} obj in ${MAKE} buildkernel | ||||
# -DNO_PORTSUPDATE do not update ports in ${MAKE} update | # -DNO_PORTSUPDATE do not update ports in ${MAKE} update | ||||
# -DNO_ROOT install without using root privilege | # -DNO_ROOT install without using root privilege | ||||
# -DNO_DOCUPDATE do not update doc in ${MAKE} update | # -DNO_DOCUPDATE do not update doc in ${MAKE} update | ||||
# -DWITHOUT_CTF do not run the DTrace CTF conversion tools on built objects | # -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_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_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_LIB_DIRS="list of dirs" to add additional dirs to libraries target | ||||
▲ Show 20 Lines • Show All 118 Lines • ▼ Show 20 Lines | |||||
NO_CLEAN= ${NOCLEAN} | NO_CLEAN= ${NOCLEAN} | ||||
.endif | .endif | ||||
.if defined(NO_CLEANDIR) | .if defined(NO_CLEANDIR) | ||||
CLEANDIR= clean cleandepend | CLEANDIR= clean cleandepend | ||||
.else | .else | ||||
CLEANDIR= cleandir | CLEANDIR= cleandir | ||||
.endif | .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?= | LOCAL_TOOL_DIRS?= | ||||
PACKAGEDIR?= ${DESTDIR}/${DISTDIR} | PACKAGEDIR?= ${DESTDIR}/${DISTDIR} | ||||
.if empty(SHELL:M*csh*) | .if empty(SHELL:M*csh*) | ||||
BUILDENV_SHELL?=${SHELL} | BUILDENV_SHELL?=${SHELL} | ||||
.else | .else | ||||
BUILDENV_SHELL?=/bin/sh | BUILDENV_SHELL?=/bin/sh | ||||
.endif | .endif | ||||
▲ Show 20 Lines • Show All 235 Lines • ▼ Show 20 Lines | |||||
.if defined(CROSS_BINUTILS_PREFIX) && \ | .if defined(CROSS_BINUTILS_PREFIX) && \ | ||||
exists(${CROSS_BINUTILS_PREFIX}${${BINUTIL}}) | exists(${CROSS_BINUTILS_PREFIX}${${BINUTIL}}) | ||||
X${BINUTIL}?= ${CROSS_BINUTILS_PREFIX}${${BINUTIL}} | X${BINUTIL}?= ${CROSS_BINUTILS_PREFIX}${${BINUTIL}} | ||||
.else | .else | ||||
X${BINUTIL}?= ${${BINUTIL}} | X${BINUTIL}?= ${${BINUTIL}} | ||||
.endif | .endif | ||||
.endfor | .endfor | ||||
CROSSENV+= CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCFLAGS} ${XCXXFLAGS}" \ | CROSSENV+= CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCFLAGS} ${XCXXFLAGS}" \ | ||||
DEPFLAGS="${DEPFLAGS}" \ | |||||
CPP="${XCPP} ${XCFLAGS}" \ | CPP="${XCPP} ${XCFLAGS}" \ | ||||
AS="${XAS}" AR="${XAR}" LD="${XLD}" NM=${XNM} \ | AS="${XAS}" AR="${XAR}" LD="${XLD}" NM=${XNM} \ | ||||
OBJDUMP=${XOBJDUMP} OBJCOPY="${XOBJCOPY}" \ | OBJDUMP=${XOBJDUMP} OBJCOPY="${XOBJCOPY}" \ | ||||
RANLIB=${XRANLIB} STRINGS=${XSTRINGS} \ | RANLIB=${XRANLIB} STRINGS=${XSTRINGS} \ | ||||
SIZE="${XSIZE}" | SIZE="${XSIZE}" | ||||
.if defined(CROSS_BINUTILS_PREFIX) && exists(${CROSS_BINUTILS_PREFIX}) | .if defined(CROSS_BINUTILS_PREFIX) && exists(${CROSS_BINUTILS_PREFIX}) | ||||
# In the case of xdev-build tools, CROSS_BINUTILS_PREFIX won't be a | # In the case of xdev-build tools, CROSS_BINUTILS_PREFIX won't be a | ||||
Show All 15 Lines | |||||
.endif | .endif | ||||
.endif | .endif | ||||
.if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc | .if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc | ||||
# GCC requires -isystem when using a cross-compiler. | # GCC requires -isystem when using a cross-compiler. | ||||
XCFLAGS+= -isystem ${WORLDTMP}/usr/include | XCFLAGS+= -isystem ${WORLDTMP}/usr/include | ||||
# Force using libc++ for external GCC. | # Force using libc++ for external GCC. | ||||
XCXXFLAGS+= -isystem ${WORLDTMP}/usr/include/c++/v1 -std=c++11 \ | XCXXFLAGS+= -isystem ${WORLDTMP}/usr/include/c++/v1 -std=c++11 \ | ||||
-nostdinc++ -L${WORLDTMP}/../lib/libc++ | -nostdinc++ -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 | .else | ||||
TARGET_ABI?= unknown | TARGET_ABI?= unknown | ||||
TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0 | TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0 | ||||
XCFLAGS+= -target ${TARGET_TRIPLE} | XCFLAGS+= -target ${TARGET_TRIPLE} | ||||
.endif | .endif | ||||
XCFLAGS+= --sysroot=${WORLDTMP} | XCFLAGS+= --sysroot=${WORLDTMP} | ||||
.else | .else | ||||
.endif # ${XCC:M/*} || ${MK_CROSS_COMPILER} == "no" | .endif # ${XCC:M/*} || ${MK_CROSS_COMPILER} == "no" | ||||
▲ Show 20 Lines • Show All 177 Lines • ▼ Show 20 Lines | |||||
_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 -DNO_LINT MK_MAN=no \ | ${WMAKE} -DNO_FSCHG MK_HTML=no -DNO_LINT MK_MAN=no \ | ||||
MK_PROFILE=no MK_TESTS=no MK_TESTS_SUPPORT=${MK_TESTS} libraries | 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: | everything: | ||||
@echo | @echo | ||||
@echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
@echo ">>> stage 4.4: building everything" | @echo ">>> stage 4.3: building everything" | ||||
@echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
${_+_}cd ${.CURDIR}; _PARALLEL_SUBDIR_OK=1 ${WMAKE} all | ${_+_}cd ${.CURDIR}; _PARALLEL_SUBDIR_OK=1 ${WMAKE} all | ||||
WMAKE_TGTS= | WMAKE_TGTS= | ||||
WMAKE_TGTS+= _worldtmp _legacy | WMAKE_TGTS+= _worldtmp _legacy | ||||
.if empty(SUBDIR_OVERRIDE) | .if empty(SUBDIR_OVERRIDE) | ||||
WMAKE_TGTS+= _bootstrap-tools | WMAKE_TGTS+= _bootstrap-tools | ||||
.endif | .endif | ||||
WMAKE_TGTS+= _cleanobj _obj _build-tools _cross-tools | WMAKE_TGTS+= _cleanobj _obj _build-tools _cross-tools | ||||
WMAKE_TGTS+= _includes _libraries | WMAKE_TGTS+= _includes _libraries | ||||
.if !defined(NO_DEPEND) | |||||
WMAKE_TGTS+= _depend | |||||
.endif | |||||
WMAKE_TGTS+= everything | WMAKE_TGTS+= everything | ||||
.if defined(LIBCOMPAT) && empty(SUBDIR_OVERRIDE) | .if defined(LIBCOMPAT) && empty(SUBDIR_OVERRIDE) | ||||
WMAKE_TGTS+= build${libcompat} | WMAKE_TGTS+= build${libcompat} | ||||
.endif | .endif | ||||
buildworld: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue | buildworld: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue | ||||
.ORDER: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue | .ORDER: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue | ||||
Show All 26 Lines | |||||
buildenv: .PHONY | buildenv: .PHONY | ||||
@echo Entering world for ${TARGET_ARCH}:${TARGET} | @echo Entering world for ${TARGET_ARCH}:${TARGET} | ||||
.if ${BUILDENV_SHELL:M*zsh*} | .if ${BUILDENV_SHELL:M*zsh*} | ||||
@echo For ZSH you must run: export CPUTYPE=${TARGET_CPUTYPE} | @echo For ZSH you must run: export CPUTYPE=${TARGET_CPUTYPE} | ||||
.endif | .endif | ||||
@cd ${BUILDENV_DIR} && env ${WMAKEENV} BUILDENV=1 ${BUILDENV_SHELL} \ | @cd ${BUILDENV_DIR} && env ${WMAKEENV} BUILDENV=1 ${BUILDENV_SHELL} \ | ||||
|| true | || true | ||||
TOOLCHAIN_TGTS= ${WMAKE_TGTS:N_depend:Neverything:Nbuild${libcompat}} | TOOLCHAIN_TGTS= ${WMAKE_TGTS:Neverything:Nbuild${libcompat}} | ||||
toolchain: ${TOOLCHAIN_TGTS} | toolchain: ${TOOLCHAIN_TGTS} | ||||
kernel-toolchain: ${TOOLCHAIN_TGTS:N_includes:N_libraries} | kernel-toolchain: ${TOOLCHAIN_TGTS:N_includes:N_libraries} | ||||
# | # | ||||
# installcheck | # installcheck | ||||
# | # | ||||
# Checks to be sure system is ready for installworld/installkernel. | # Checks to be sure system is ready for installworld/installkernel. | ||||
# | # | ||||
▲ Show 20 Lines • Show All 280 Lines • ▼ Show 20 Lines | |||||
# Note that we have to use TARGET instead of TARGET_ARCH when | # Note that we have to use TARGET instead of TARGET_ARCH when | ||||
# we're in kernel-land. Since only TARGET_ARCH is (expected) to | # we're in kernel-land. Since only TARGET_ARCH is (expected) to | ||||
# be set to cross-build, we have to make sure TARGET is set | # be set to cross-build, we have to make sure TARGET is set | ||||
# properly. | # properly. | ||||
.if defined(KERNFAST) | .if defined(KERNFAST) | ||||
NO_KERNELCLEAN= t | NO_KERNELCLEAN= t | ||||
NO_KERNELCONFIG= t | NO_KERNELCONFIG= t | ||||
NO_KERNELDEPEND= t | |||||
NO_KERNELOBJ= t | NO_KERNELOBJ= t | ||||
# Shortcut for KERNCONF=Blah -DKERNFAST is now KERNFAST=Blah | # Shortcut for KERNCONF=Blah -DKERNFAST is now KERNFAST=Blah | ||||
.if !defined(KERNCONF) && ${KERNFAST} != "1" | .if !defined(KERNCONF) && ${KERNFAST} != "1" | ||||
KERNCONF=${KERNFAST} | KERNCONF=${KERNFAST} | ||||
.endif | .endif | ||||
.endif | .endif | ||||
.if ${TARGET_ARCH} == "powerpc64" | .if ${TARGET_ARCH} == "powerpc64" | ||||
KERNCONF?= GENERIC64 | KERNCONF?= GENERIC64 | ||||
▲ Show 20 Lines • Show All 65 Lines • ▼ Show 20 Lines | .if !defined(NO_KERNELOBJ) | ||||
@echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
${_+_}cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} obj | ${_+_}cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} obj | ||||
.endif | .endif | ||||
@echo | @echo | ||||
@echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
@echo ">>> stage 2.3: build tools" | @echo ">>> stage 2.3: build tools" | ||||
@echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
${_+_}cd ${.CURDIR}; ${KTMAKE} kernel-tools | ${_+_}cd ${.CURDIR}; ${KTMAKE} kernel-tools | ||||
.if !defined(NO_KERNELDEPEND) | |||||
@echo | @echo | ||||
@echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
@echo ">>> stage 3.1: making dependencies" | @echo ">>> stage 3.1: building everything" | ||||
@echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
${_+_}cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} depend -DNO_MODULES_OBJ | |||||
.endif | |||||
@echo | |||||
@echo "--------------------------------------------------------------" | |||||
@echo ">>> stage 3.2: building everything" | |||||
@echo "--------------------------------------------------------------" | |||||
${_+_}cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} all -DNO_MODULES_OBJ | ${_+_}cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} all -DNO_MODULES_OBJ | ||||
@echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
@echo ">>> Kernel build for ${_kernel} completed on `LC_ALL=C date`" | @echo ">>> Kernel build for ${_kernel} completed on `LC_ALL=C date`" | ||||
@echo "--------------------------------------------------------------" | @echo "--------------------------------------------------------------" | ||||
.endfor | .endfor | ||||
# | # | ||||
# installkernel, etc. | # installkernel, etc. | ||||
▲ Show 20 Lines • Show All 181 Lines • ▼ Show 20 Lines | |||||
.endif | .endif | ||||
legacy: | legacy: | ||||
.if ${BOOTSTRAPPING} < 800107 && ${BOOTSTRAPPING} != 0 | .if ${BOOTSTRAPPING} < 800107 && ${BOOTSTRAPPING} != 0 | ||||
@echo "ERROR: Source upgrades from versions prior to 8.0 are not supported."; \ | @echo "ERROR: Source upgrades from versions prior to 8.0 are not supported."; \ | ||||
false | false | ||||
.endif | .endif | ||||
.for _tool in tools/build ${_elftoolchain_libs} | .for _tool in tools/build ${_elftoolchain_libs} | ||||
${_+_}@${ECHODIR} "===> ${_tool} (obj,includes,depend,all,install)"; \ | ${_+_}@${ECHODIR} "===> ${_tool} (obj,includes,all,install)"; \ | ||||
cd ${.CURDIR}/${_tool}; \ | cd ${.CURDIR}/${_tool}; \ | ||||
${MAKE} DIRPRFX=${_tool}/ obj; \ | ${MAKE} DIRPRFX=${_tool}/ obj; \ | ||||
${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy includes; \ | ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy includes; \ | ||||
if [ -z "${NO_DEPEND}" ]; then ${MAKE} DIRPRFX=${_tool}/ depend; fi; \ | |||||
${MAKE} DIRPRFX=${_tool}/ all; \ | ${MAKE} DIRPRFX=${_tool}/ all; \ | ||||
${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy install | ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy install | ||||
.endfor | .endfor | ||||
# | # | ||||
# bootstrap-tools: Build tools needed for compatibility. These are binaries that | # bootstrap-tools: Build tools needed for compatibility. These are binaries that | ||||
# are built to build other binaries in the system. However, the focus of these | # are built to build other binaries in the system. However, the focus of these | ||||
# binaries is usually quite narrow. Bootstrap tools use the host's compiler and | # binaries is usually quite narrow. Bootstrap tools use the host's compiler and | ||||
▲ Show 20 Lines • Show All 139 Lines • ▼ Show 20 Lines | .for _tool in \ | ||||
usr.bin/xinstall \ | usr.bin/xinstall \ | ||||
${_gensnmptree} \ | ${_gensnmptree} \ | ||||
usr.sbin/config \ | usr.sbin/config \ | ||||
${_crunch} \ | ${_crunch} \ | ||||
${_nmtree} \ | ${_nmtree} \ | ||||
${_vtfontcvt} \ | ${_vtfontcvt} \ | ||||
usr.bin/localedef | usr.bin/localedef | ||||
${_bt}-${_tool}: .PHONY .MAKE | ${_bt}-${_tool}: .PHONY .MAKE | ||||
${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ | ${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \ | ||||
cd ${.CURDIR}/${_tool}; \ | cd ${.CURDIR}/${_tool}; \ | ||||
${MAKE} DIRPRFX=${_tool}/ obj; \ | ${MAKE} DIRPRFX=${_tool}/ obj; \ | ||||
if [ -z "${NO_DEPEND}" ]; then ${MAKE} DIRPRFX=${_tool}/ depend; fi; \ | |||||
${MAKE} DIRPRFX=${_tool}/ all; \ | ${MAKE} DIRPRFX=${_tool}/ all; \ | ||||
${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy install | ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy install | ||||
bootstrap-tools: ${_bt}-${_tool} | bootstrap-tools: ${_bt}-${_tool} | ||||
.endfor | .endfor | ||||
# | # | ||||
# build-tools: Build special purpose build tools | # build-tools: Build special purpose build tools | ||||
Show All 29 Lines | ${_+_}@${ECHODIR} "===> ${_tool} (obj,build-tools)"; \ | ||||
cd ${.CURDIR}/${_tool}; \ | cd ${.CURDIR}/${_tool}; \ | ||||
${MAKE} DIRPRFX=${_tool}/ obj; \ | ${MAKE} DIRPRFX=${_tool}/ obj; \ | ||||
${MAKE} DIRPRFX=${_tool}/ build-tools | ${MAKE} DIRPRFX=${_tool}/ build-tools | ||||
build-tools: build-tools_${_tool} | build-tools: build-tools_${_tool} | ||||
.endfor | .endfor | ||||
.for _tool in \ | .for _tool in \ | ||||
${_gcc_tools} | ${_gcc_tools} | ||||
build-tools_${_tool}: .PHONY | build-tools_${_tool}: .PHONY | ||||
${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all)"; \ | ${_+_}@${ECHODIR} "===> ${_tool} (obj,all)"; \ | ||||
cd ${.CURDIR}/${_tool}; \ | cd ${.CURDIR}/${_tool}; \ | ||||
${MAKE} DIRPRFX=${_tool}/ obj; \ | ${MAKE} DIRPRFX=${_tool}/ obj; \ | ||||
if [ -z "${NO_DEPEND}" ]; then ${MAKE} DIRPRFX=${_tool}/ depend; fi; \ | |||||
${MAKE} DIRPRFX=${_tool}/ all | ${MAKE} DIRPRFX=${_tool}/ all | ||||
build-tools: build-tools_${_tool} | build-tools: build-tools_${_tool} | ||||
.endfor | .endfor | ||||
# | # | ||||
# kernel-tools: Build kernel-building tools | # kernel-tools: Build kernel-building tools | ||||
# | # | ||||
kernel-tools: | kernel-tools: | ||||
▲ Show 20 Lines • Show All 64 Lines • ▼ Show 20 Lines | .for _tool in \ | ||||
${_clang} \ | ${_clang} \ | ||||
${_binutils} \ | ${_binutils} \ | ||||
${_elftctools} \ | ${_elftctools} \ | ||||
${_dtrace_tools} \ | ${_dtrace_tools} \ | ||||
${_cc} \ | ${_cc} \ | ||||
${_btxld} \ | ${_btxld} \ | ||||
${_crunchide} \ | ${_crunchide} \ | ||||
${_usb_tools} | ${_usb_tools} | ||||
${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ | ${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \ | ||||
cd ${.CURDIR}/${_tool}; \ | cd ${.CURDIR}/${_tool}; \ | ||||
${MAKE} DIRPRFX=${_tool}/ obj; \ | ${MAKE} DIRPRFX=${_tool}/ obj; \ | ||||
if [ -z "${NO_DEPEND}" ]; then ${MAKE} DIRPRFX=${_tool}/ depend; fi; \ | |||||
${MAKE} DIRPRFX=${_tool}/ all; \ | ${MAKE} DIRPRFX=${_tool}/ all; \ | ||||
${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX} install | ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX} install | ||||
.endfor | .endfor | ||||
NXBDESTDIR= ${OBJTREE}/nxb-bin | NXBDESTDIR= ${OBJTREE}/nxb-bin | ||||
NXBENV= MAKEOBJDIRPREFIX=${OBJTREE}/nxb \ | NXBENV= MAKEOBJDIRPREFIX=${OBJTREE}/nxb \ | ||||
INSTALL="sh ${.CURDIR}/tools/install.sh" \ | INSTALL="sh ${.CURDIR}/tools/install.sh" \ | ||||
PATH=${PATH}:${OBJTREE}/gperf_for_gcc/usr/bin | PATH=${PATH}:${OBJTREE}/gperf_for_gcc/usr/bin | ||||
Show All 12 Lines | |||||
# 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. | ||||
# For non-clang enabled targets that are still using the in tree gcc | # For non-clang enabled targets that are still using the in tree gcc | ||||
# we must build a gperf binary for one instance of its Makefiles. On | # we must build a gperf binary for one instance of its Makefiles. On | ||||
# clang-enabled systems, the gperf binary is obsolete. | # clang-enabled systems, the gperf binary is obsolete. | ||||
native-xtools: .PHONY | native-xtools: .PHONY | ||||
.if ${MK_GCC_BOOTSTRAP} != "no" | .if ${MK_GCC_BOOTSTRAP} != "no" | ||||
mkdir -p ${OBJTREE}/gperf_for_gcc/usr/bin | mkdir -p ${OBJTREE}/gperf_for_gcc/usr/bin | ||||
${_+_}@${ECHODIR} "===> ${_gperf} (obj,depend,all,install)"; \ | ${_+_}@${ECHODIR} "===> ${_gperf} (obj,all,install)"; \ | ||||
cd ${.CURDIR}/${_gperf}; \ | cd ${.CURDIR}/${_gperf}; \ | ||||
${NXBMAKE} DIRPRFX=${_gperf}/ obj; \ | ${NXBMAKE} DIRPRFX=${_gperf}/ obj; \ | ||||
if [ -z "${NO_DEPEND}" ]; then ${NXBMAKE} DIRPRFX=${_gperf}/ depend; fi; \ | |||||
${NXBMAKE} DIRPRFX=${_gperf}/ all; \ | ${NXBMAKE} DIRPRFX=${_gperf}/ all; \ | ||||
${NXBMAKE} DIRPRFX=${_gperf}/ DESTDIR=${OBJTREE}/gperf_for_gcc install | ${NXBMAKE} DIRPRFX=${_gperf}/ DESTDIR=${OBJTREE}/gperf_for_gcc install | ||||
.endif | .endif | ||||
mkdir -p ${NXBDESTDIR}/bin ${NXBDESTDIR}/sbin ${NXBDESTDIR}/usr | mkdir -p ${NXBDESTDIR}/bin ${NXBDESTDIR}/sbin ${NXBDESTDIR}/usr | ||||
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ | mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ | ||||
-p ${NXBDESTDIR}/usr >/dev/null | -p ${NXBDESTDIR}/usr >/dev/null | ||||
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ | mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ | ||||
-p ${NXBDESTDIR}/usr/include >/dev/null | -p ${NXBDESTDIR}/usr/include >/dev/null | ||||
▲ Show 20 Lines • Show All 55 Lines • ▼ Show 20 Lines | .for _tool in \ | ||||
usr.bin/true \ | usr.bin/true \ | ||||
usr.bin/uniq \ | usr.bin/uniq \ | ||||
usr.bin/unzip \ | usr.bin/unzip \ | ||||
usr.bin/xargs \ | usr.bin/xargs \ | ||||
usr.bin/xinstall \ | usr.bin/xinstall \ | ||||
usr.bin/xz \ | usr.bin/xz \ | ||||
usr.bin/yacc \ | usr.bin/yacc \ | ||||
usr.sbin/chown | usr.sbin/chown | ||||
${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ | ${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \ | ||||
cd ${.CURDIR}/${_tool}; \ | cd ${.CURDIR}/${_tool}; \ | ||||
${NXBMAKE} DIRPRFX=${_tool}/ obj; \ | ${NXBMAKE} DIRPRFX=${_tool}/ obj; \ | ||||
if [ -z "${NO_DEPEND}" ]; then ${NXBMAKE} DIRPRFX=${_tool}/ depend; fi; \ | |||||
${NXBMAKE} DIRPRFX=${_tool}/ all; \ | ${NXBMAKE} DIRPRFX=${_tool}/ all; \ | ||||
${NXBMAKE} DIRPRFX=${_tool}/ DESTDIR=${NXBDESTDIR} install | ${NXBMAKE} DIRPRFX=${_tool}/ DESTDIR=${NXBDESTDIR} install | ||||
.endfor | .endfor | ||||
# | # | ||||
# hierarchy - ensure that all the needed directories are present | # hierarchy - ensure that all the needed directories are present | ||||
# | # | ||||
hierarchy hier: .MAKE .PHONY | hierarchy hier: .MAKE .PHONY | ||||
▲ Show 20 Lines • Show All 219 Lines • ▼ Show 20 Lines | |||||
.endif | .endif | ||||
.endif | .endif | ||||
gnu/lib/libdialog__L: lib/msun__L lib/ncurses/ncursesw__L | gnu/lib/libdialog__L: lib/msun__L lib/ncurses/ncursesw__L | ||||
.for _lib in ${_prereq_libs} | .for _lib in ${_prereq_libs} | ||||
${_lib}__PL: .PHONY .MAKE | ${_lib}__PL: .PHONY .MAKE | ||||
.if exists(${.CURDIR}/${_lib}) | .if exists(${.CURDIR}/${_lib}) | ||||
${_+_}@${ECHODIR} "===> ${_lib} (obj,depend,all,install)"; \ | ${_+_}@${ECHODIR} "===> ${_lib} (obj,all,install)"; \ | ||||
cd ${.CURDIR}/${_lib}; \ | cd ${.CURDIR}/${_lib}; \ | ||||
${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ obj; \ | ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ obj; \ | ||||
if [ -z "${NO_DEPEND}" ]; then ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ depend; fi; \ | |||||
${MAKE} MK_TESTS=no MK_PROFILE=no -DNO_PIC \ | ${MAKE} MK_TESTS=no MK_PROFILE=no -DNO_PIC \ | ||||
DIRPRFX=${_lib}/ all; \ | DIRPRFX=${_lib}/ all; \ | ||||
${MAKE} MK_TESTS=no MK_PROFILE=no -DNO_PIC \ | ${MAKE} MK_TESTS=no MK_PROFILE=no -DNO_PIC \ | ||||
DIRPRFX=${_lib}/ install | DIRPRFX=${_lib}/ install | ||||
.endif | .endif | ||||
.endfor | .endfor | ||||
.for _lib in ${_startup_libs} ${_prebuild_libs:Nlib/libpam} ${_generic_libs} | .for _lib in ${_startup_libs} ${_prebuild_libs:Nlib/libpam} ${_generic_libs} | ||||
${_lib}__L: .PHONY .MAKE | ${_lib}__L: .PHONY .MAKE | ||||
.if exists(${.CURDIR}/${_lib}) | .if exists(${.CURDIR}/${_lib}) | ||||
${_+_}@${ECHODIR} "===> ${_lib} (obj,depend,all,install)"; \ | ${_+_}@${ECHODIR} "===> ${_lib} (obj,all,install)"; \ | ||||
cd ${.CURDIR}/${_lib}; \ | cd ${.CURDIR}/${_lib}; \ | ||||
${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ obj; \ | ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ obj; \ | ||||
if [ -z "${NO_DEPEND}" ]; then ${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ depend; fi; \ | |||||
${MAKE} MK_TESTS=no DIRPRFX=${_lib}/ all; \ | ${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 | ||||
# libpam is special: we need to build static PAM modules before | # libpam is special: we need to build static PAM modules before | ||||
# static PAM library, and dynamic PAM library before dynamic PAM | # static PAM library, and dynamic PAM library before dynamic PAM | ||||
# modules. | # modules. | ||||
lib/libpam__L: .PHONY .MAKE | lib/libpam__L: .PHONY .MAKE | ||||
${_+_}@${ECHODIR} "===> lib/libpam (obj,depend,all,install)"; \ | ${_+_}@${ECHODIR} "===> lib/libpam (obj,all,install)"; \ | ||||
cd ${.CURDIR}/lib/libpam; \ | cd ${.CURDIR}/lib/libpam; \ | ||||
${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ obj; \ | ${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ obj; \ | ||||
if [ -z "${NO_DEPEND}" ]; then ${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ depend; fi; \ | |||||
${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ \ | ${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ \ | ||||
-D_NO_LIBPAM_SO_YET all; \ | -D_NO_LIBPAM_SO_YET all; \ | ||||
${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ \ | ${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ \ | ||||
-D_NO_LIBPAM_SO_YET install | -D_NO_LIBPAM_SO_YET install | ||||
_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/} | ||||
▲ Show 20 Lines • Show All 278 Lines • ▼ Show 20 Lines | _xb-worldtmp: .PHONY | ||||
mkdir -p ${CDTMP}/usr | mkdir -p ${CDTMP}/usr | ||||
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ | mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ | ||||
-p ${CDTMP}/usr >/dev/null | -p ${CDTMP}/usr >/dev/null | ||||
_xb-bootstrap-tools: .PHONY | _xb-bootstrap-tools: .PHONY | ||||
.for _tool in \ | .for _tool in \ | ||||
${_clang_tblgen} \ | ${_clang_tblgen} \ | ||||
${_gperf} | ${_gperf} | ||||
${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ | ${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \ | ||||
cd ${.CURDIR}/${_tool}; \ | cd ${.CURDIR}/${_tool}; \ | ||||
${CDMAKE} DIRPRFX=${_tool}/ obj; \ | ${CDMAKE} DIRPRFX=${_tool}/ obj; \ | ||||
if [ -z "${NO_DEPEND}" ]; then ${CDMAKE} DIRPRFX=${_tool}/ depend; fi; \ | |||||
${CDMAKE} DIRPRFX=${_tool}/ all; \ | ${CDMAKE} DIRPRFX=${_tool}/ all; \ | ||||
${CDMAKE} DIRPRFX=${_tool}/ DESTDIR=${CDTMP} install | ${CDMAKE} DIRPRFX=${_tool}/ DESTDIR=${CDTMP} install | ||||
.endfor | .endfor | ||||
_xb-build-tools: .PHONY | _xb-build-tools: .PHONY | ||||
${_+_}@cd ${.CURDIR}; \ | ${_+_}@cd ${.CURDIR}; \ | ||||
${CDBENV} ${MAKE} -f Makefile.inc1 ${NOFUN} build-tools | ${CDBENV} ${MAKE} -f Makefile.inc1 ${NOFUN} build-tools | ||||
_xb-cross-tools: .PHONY | _xb-cross-tools: .PHONY | ||||
.for _tool in \ | .for _tool in \ | ||||
${_binutils} \ | ${_binutils} \ | ||||
${_elftctools} \ | ${_elftctools} \ | ||||
usr.bin/ar \ | usr.bin/ar \ | ||||
${_clang_libs} \ | ${_clang_libs} \ | ||||
${_clang} \ | ${_clang} \ | ||||
${_cc} | ${_cc} | ||||
${_+_}@${ECHODIR} "===> xdev ${_tool} (obj,depend,all)"; \ | ${_+_}@${ECHODIR} "===> xdev ${_tool} (obj,all)"; \ | ||||
cd ${.CURDIR}/${_tool}; \ | cd ${.CURDIR}/${_tool}; \ | ||||
${CDMAKE} DIRPRFX=${_tool}/ obj; \ | ${CDMAKE} DIRPRFX=${_tool}/ obj; \ | ||||
if [ -z "${NO_DEPEND}" ]; then ${CDMAKE} DIRPRFX=${_tool}/ depend; fi; \ | |||||
${CDMAKE} DIRPRFX=${_tool}/ all | ${CDMAKE} DIRPRFX=${_tool}/ all | ||||
.endfor | .endfor | ||||
_xi-mtree: .PHONY | _xi-mtree: .PHONY | ||||
${_+_}@${ECHODIR} "mtree populating ${XDDESTDIR}" | ${_+_}@${ECHODIR} "mtree populating ${XDDESTDIR}" | ||||
mkdir -p ${XDDESTDIR} | mkdir -p ${XDDESTDIR} | ||||
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.root.dist \ | mtree -deU -f ${.CURDIR}/etc/mtree/BSD.root.dist \ | ||||
-p ${XDDESTDIR} >/dev/null | -p ${XDDESTDIR} >/dev/null | ||||
▲ Show 20 Lines • Show All 52 Lines • Show Last 20 Lines |