PERFORCE change 133524 for review
Warner Losh
imp at FreeBSD.org
Thu Jan 17 21:33:30 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=133524
Change 133524 by imp at imp_paco-paco on 2008/01/18 05:32:56
Integrate the Makefile changes from mips2
Affected files ...
.. //depot/projects/mips2-jnpr/src/Makefile#2 integrate
.. //depot/projects/mips2-jnpr/src/Makefile.inc1#2 integrate
Differences ...
==== //depot/projects/mips2-jnpr/src/Makefile#2 (text+ko) ====
@@ -1,5 +1,6 @@
+#OSX hint: bsdmake BSDMKAE=bsdmake MACHINE_ARCH=i386
#
-# $FreeBSD: src/Makefile,v 1.344 2007/12/13 00:08:02 imp Exp $
+# $FreeBSD: src/Makefile,v 1.342 2007/10/18 08:41:52 delphij Exp $
#
# The user-driven targets are:
#
@@ -93,6 +94,8 @@
BITGTS:=${BITGTS} ${BITGTS:S/^/build/} ${BITGTS:S/^/install/}
TGTS+= ${BITGTS}
+TGTS+= xdev xdev-build xdev-install
+
.ORDER: buildworld installworld
.ORDER: buildworld distributeworld
.ORDER: buildworld buildkernel
@@ -163,7 +166,7 @@
#
${TGTS}:
- ${_+_}@cd ${.CURDIR}; \
+ ${_+_}cd ${.CURDIR}; \
${_MAKE} ${.TARGET}
# Set a reasonable default
@@ -239,11 +242,11 @@
#
# Upgrade make(1) to the current version using the installed
-# headers, libraries and tools. Also, allow the location of
-# the system bsdmake-like utility to be overridden.
+# headers, libraries and tools.
#
MMAKEENV= MAKEOBJDIRPREFIX=${MAKEPATH} \
DESTDIR= \
+ LIBC= \
INSTALL="sh ${.CURDIR}/tools/install.sh"
MMAKE= ${MMAKEENV} ${MAKE} \
-D_UPGRADING \
==== //depot/projects/mips2-jnpr/src/Makefile.inc1#2 (text+ko) ====
@@ -1,5 +1,5 @@
#
-# $FreeBSD: src/Makefile.inc1,v 1.591 2007/12/04 12:55:27 yar Exp $
+# $FreeBSD: src/Makefile.inc1,v 1.589 2007/10/15 13:50:46 emaste Exp $
#
# Make command line options:
# -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir
@@ -113,7 +113,7 @@
TARGET?= ${MACHINE}
TARGET_ARCH?= ${MACHINE_ARCH}
-KNOWN_ARCHES?= amd64 arm i386 i386/pc98 ia64 mips powerpc sparc64 sparc64/sun4v
+KNOWN_ARCHES?= amd64 arm armeb/arm i386 i386/pc98 ia64 powerpc sparc64 sparc64/sun4v
.if ${TARGET} == ${TARGET_ARCH}
_t= ${TARGET}
.else
@@ -159,14 +159,7 @@
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
@@ -214,7 +207,7 @@
DESTDIR= \
BOOTSTRAPPING=${OSRELDATE} \
-DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN \
- -DWITHOUT_NLS -DNO_PIC -DWITHOUT_PROFILE -DNO_SHARED \
+ -DWITHOUT_NLS -DNO_PIC -DWITHOUT_PROFILE \
-DNO_CPU_CFLAGS -DNO_WARNS
# build-tools stage
@@ -272,16 +265,14 @@
.endif
# install stage
-IMAKEENV= ${CROSSENV}
-IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1
.if empty(.MAKEFLAGS:M-n)
-IMAKEENV+= PATH=${STRICTTMPPATH}:${INSTALLTMP} \
- LD_LIBRARY_PATH=${INSTALLTMP} \
- PATH_LOCALE=${INSTALLTMP}/locale
-IMAKE+= __MAKE_SHELL=${INSTALLTMP}/sh
+IMAKEENV= ${CROSSENV} \
+ PATH=${STRICTTMPPATH}:${INSTALLTMP}
.else
-IMAKEENV+= PATH=${TMPPATH}:${INSTALLTMP}
+IMAKEENV= ${CROSSENV} \
+ PATH=${TMPPATH}:${INSTALLTMP}
.endif
+IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1
# kernel stage
KMAKEENV= ${WMAKEENV}
@@ -517,7 +508,7 @@
buildenv:
@echo Entering world for ${TARGET_ARCH}:${TARGET}
- @cd ${.CURDIR} && env ${WMAKEENV} sh || true
+ @cd ${.CURDIR} && env ${WMAKEENV} ${SHELL} || true
TOOLCHAIN_TGTS= ${WMAKE_TGTS:N_depend:Neverything:Nbuild32}
toolchain: ${TOOLCHAIN_TGTS}
@@ -573,14 +564,6 @@
.endfor
#
-# Required install tools to be saved in a scratch dir for safety.
-#
-ITOOLS= [ awk cap_mkdb cat chflags chmod chown \
- date echo egrep find grep install-info \
- ln lockf make mkdir mtree mv pwd_mkdb rm sed sh sysctl \
- test true uname wc zic
-
-#
# distributeworld
#
# Distributes everything compiled by a `buildworld'.
@@ -591,28 +574,19 @@
#
distributeworld installworld: installcheck
mkdir -p ${INSTALLTMP}
- progs=$$(for prog in ${ITOOLS}; do \
+ for prog in [ awk cap_mkdb cat chflags chmod chown \
+ date echo egrep find grep install-info \
+ ln lockf make mkdir mtree mv pwd_mkdb rm sed sh sysctl \
+ test true uname wc zic; do \
if progpath=`which $$prog`; then \
- echo $$progpath; \
+ cp $$progpath ${INSTALLTMP}; \
else \
- echo "Required tool $$prog not found in PATH." >&2; \
+ echo "Required install tool $$prog not found" >&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
- ${_+_}cd ${.CURDIR}; ${IMAKE} re${.TARGET:S/world$//}; \
- ${IMAKEENV} rm -rf ${INSTALLTMP}
+ done
+ ${_+_}cd ${.CURDIR}; ${IMAKE} re${.TARGET:S/world$//}
+ rm -rf ${INSTALLTMP}
#
# reinstall
@@ -837,11 +811,12 @@
# to attempt to manually finish it. If in doubt, 'make world' again.
#
+UNAME_SYSTEM!= uname
#
# legacy: Build compatibility shims for the next three targets
#
legacy:
-.if ${BOOTSTRAPPING} < 503000
+.if ${BOOTSTRAPPING} < 503000 && ${UNAME_SYSTEM} == "FreeBSD"
@echo "ERROR: Source upgrades from versions prior to 5.3 not supported."; \
false
.endif
@@ -900,10 +875,6 @@
_crunchgen= usr.sbin/crunch/crunchgen
.endif
-.if ${BOOTSTRAPPING} < 600020
-_pwd_mkdb= usr.sbin/pwd_mkdb
-.endif
-
bootstrap-tools:
.for _tool in \
${_strfile} \
@@ -919,9 +890,10 @@
usr.bin/rpcgen \
usr.bin/xinstall \
${_gensnmptree} \
+ usr.bin/file2c \
+ lib/libsbuf \
usr.sbin/config \
- ${_crunchgen} \
- ${_pwd_mkdb}
+ ${_crunchgen}
${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
cd ${.CURDIR}/${_tool}; \
${MAKE} DIRPRFX=${_tool}/ obj; \
@@ -937,7 +909,7 @@
_aicasm= sys/modules/aic7xxx/aicasm
.endif
-.if !defined(NO_SHARE)
+.if !defined(NO_SHARE) && ${UNAME_SYSTEM} == "FreeBSD"
_share= share/syscons/scrnmaps
.endif
@@ -959,8 +931,7 @@
${_share} \
${_aicasm} \
usr.bin/awk \
- lib/libmagic \
- usr.sbin/sysinstall
+
${_+_}@${ECHODIR} "===> ${_tool} (obj,build-tools)"; \
cd ${.CURDIR}/${_tool}; \
${MAKE} DIRPRFX=${_tool}/ obj; \
@@ -1289,3 +1260,88 @@
#
showconfig:
@${MAKE} -n -f bsd.own.mk -V dummy -dg1 | grep ^MK_ | sort
+
+
+###############
+
+.if defined(XDEV) && defined(XDEV_ARCH)
+
+NOFUN=-DNO_FSCHG -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT \
+ -DWITHOUT_MAN -DWITHOUT_NLS -DWITHOUT_PROFILE
+
+XDDIR=${XDEV}-freebsd
+XDTP=/usr/${XDDIR}
+CDBENV=MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/${XDDIR} \
+ TARGET=${XDEV} \
+ TARGET_ARCH=${XDEV_ARCH}
+CDENV= ${CDBENV} \
+ _SHLIBDIRPREFIX=${XDTP} \
+ TOOLS_PREFIX=${XDTP} \
+ MACHINE=${XDEV} \
+ MACHINE_ARCH=${XDEV_ARCH}
+
+CDTMP= ${MAKEOBJDIRPREFIX}/${XDEV}/${.CURDIR}/tmp
+CDMAKE=${CDENV} ${MAKE} ${NOFUN}
+CD2MAKE=${CDENV} PATH=${CDTMP}/usr/bin:${XDTP}/usr/bin:${PATH} ${MAKE} ${NOFUN}
+XDDESTDIR=${DESTDIR}${XDTP}
+
+.ORDER: xdev-build xdev-install
+xdev: xdev-build xdev-install
+
+.ORDER: _xb-build-tools _xb-cross-tools
+xdev-build: _xb-build-tools _xb-cross-tools
+
+_xb-build-tools:
+ ${_+_}cd ${.CURDIR}; \
+ ${CDBENV} ${MAKE} -f Makefile.inc1 build-tools
+
+_xb-cross-tools:
+.for _tool in \
+ gnu/usr.bin/binutils \
+ gnu/usr.bin/cc
+ ${_+_}@${ECHODIR} "===> xdev ${_tool} (obj,depend,all)"; \
+ cd ${.CURDIR}/${_tool}; \
+ ${CDMAKE} DIRPRFX=${_tool}/ obj; \
+ ${CDMAKE} DIRPRFX=${_tool}/ depend; \
+ ${CDMAKE} DIRPRFX=${_tool}/ all
+.endfor
+
+ ${_+_}cd ${.CURDIR}; ${TMAKE} build-tools
+
+_xi-mtree:
+ ${_+_}@${ECHODIR} "mtree populating ${XDDESTDIR}"
+ mkdir -p ${XDDESTDIR}
+ mtree -deU -f ${.CURDIR}/etc/mtree/BSD.root.dist \
+ -p ${XDDESTDIR} >/dev/null
+ mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
+ -p ${XDDESTDIR}/usr >/dev/null
+ mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
+ -p ${XDDESTDIR}/usr/include >/dev/null
+
+.ORDER: _xi-mtree _xi-cross-tools _xi-includes _xi-libraries _xi-links
+xdev-install: _xi-mtree _xi-cross-tools _xi-includes _xi-libraries _xi-links
+
+_xi-cross-tools:
+.for _tool in \
+ gnu/usr.bin/binutils \
+ gnu/usr.bin/cc
+ ${_+_}@${ECHODIR} "===> xdev ${_tool} (install)"; \
+ cd ${.CURDIR}/${_tool}; \
+ ${CDMAKE} DIRPRFX=${_tool}/ install DESTDIR=${XDDESTDIR}
+.endfor
+
+_xi-includes:
+ ${_+_}cd ${.CURDIR}; ${CD2MAKE} -f Makefile.inc1 par-includes \
+ DESTDIR=${XDDESTDIR}
+
+_xi-libraries:
+ ${_+_}cd ${.CURDIR}; ${CD2MAKE} -f Makefile.inc1 libraries \
+ DESTDIR=${XDDESTDIR}
+
+_xi-links:
+ ${_+_}cd ${XDDESTDIR}/usr/bin; \
+ for i in *; do \
+ ln -sf ../../${XDTP}/usr/bin/$$i \
+ ../../../../usr/bin/${XDDIR}-$$i; \
+ done
+.endif
More information about the p4-projects
mailing list