Change native-xtools to not install by default; add a native-xtools-install.

Without this the user has to mess with 'make -f Makefile.inc1 ...' to figure
out where the files are installed in the OBJDIR and then they need to copy them
to where they really wanted them. Using DESTDIR may be problematic after
r325001 as well.

The files will be installed to DESTDIR/NXTP where NXTP defaults to /nxb-bin.

MFC after:	2 weeks
Sponsored by:	Dell EMC Isilon
This commit is contained in:
Bryan Drewery 2017-10-29 01:21:29 +00:00
parent b135fb6ef4
commit 5bd47cc56f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=325082
4 changed files with 32 additions and 5 deletions

View file

@ -39,9 +39,11 @@
# xdev-install - Install cross-development tools.
# xdev-links - Create traditional links in /usr/bin for cc, etc
# native-xtools - Create host binaries that produce target objects
# for use in qemu user-mode jails. Override
# target location with NXBDESTDIR. TARGET and
# for use in qemu user-mode jails. TARGET and
# TARGET_ARCH should be defined.
# native-xtools-install
# - Install the files to the given DESTDIR/NXTP where
# NXTP defaults to /nxb-bin.
#
# "quick" way to test all kernel builds:
# _jflag=`sysctl -n hw.ncpu`
@ -132,13 +134,15 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \
_build-tools _build-metadata _cross-tools _includes _libraries \
build32 distribute32 install32 buildsoft distributesoft installsoft \
builddtb xdev xdev-build xdev-install \
xdev-links native-xtools stageworld stagekernel stage-packages \
xdev-links native-xtools native-xtools-install stageworld stagekernel \
stage-packages \
create-packages-world create-packages-kernel create-packages \
packages installconfig real-packages sign-packages package-pkg \
print-dir test-system-compiler
# These targets require a TARGET and TARGET_ARCH be defined.
XTGTS= native-xtools xdev xdev-build xdev-install xdev-links
XTGTS= native-xtools native-xtools-install xdev xdev-build xdev-install \
xdev-links
# XXX: r156740: This can't work since bsd.subdir.mk is not included ever.
# It will only work for SUBDIR_TARGETS in make.conf.

View file

@ -2098,7 +2098,11 @@ cross-tools: .MAKE .PHONY
# to pickup.
#
NXBOBJDIR= ${MAKEOBJDIRPREFIX}/nxb/${TARGET}.${TARGET_ARCH}
NXBDESTDIR= ${NXBOBJDIR}${.CURDIR}/nxb-bin
NXTP?= /nxb-bin
.if ${NXTP:N/*}
.error NXTP variable should be an absolute path
.endif
NXBDESTDIR?= ${DESTDIR}${NXTP}
# This is the list of tools to be built/installed as static and where
# appropriate to build for the given TARGET.TARGET_ARCH.
@ -2227,6 +2231,9 @@ native-xtools: .PHONY
.endif
${_+_}cd ${.CURDIR}; ${NXBMAKE} SUBDIR_OVERRIDE="${NXBDIRS:M*}" \
everything
@echo ">> native-xtools done. Use 'make native-xtools-install' to install to a given DESTDIR"
native-xtools-install: .PHONY
mkdir -p ${NXBDESTDIR}/bin ${NXBDESTDIR}/sbin ${NXBDESTDIR}/usr
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
-p ${NXBDESTDIR}/usr >/dev/null

View file

@ -51,6 +51,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
****************************** SPECIAL WARNING: ******************************
20171028:
The native-xtools target no longer installs the files by default to the
OBJDIR. Use the native-xtools-install target with a DESTDIR to install
to ${DESTDIR}/${NXTP} where NXTP defaults to /nxb-bin.
20171021:
As part of the boot loader infrastructure cleanup, LOADER_*_SUPPORT
options are changing from controlling the build if defined / undefined

View file

@ -234,6 +234,17 @@ performance by avoiding emulating binaries that do not need to be emulated.
and
.Sy TARGET_ARCH
should be defined.
.It Cm native-xtools-install
Installs the results to
.Pa ${DESTDIR}/${NXTP}
where
.Va NXTP
defaults to
.Pa nxb-bin .
.Sy TARGET
and
.Sy TARGET_ARCH
must be defined.
.It Cm packageworld
Archive the results of
.Cm distributeworld ,