svn commit: r252048 - in stable/9: . share/mk
Simon J. Gerraty
sjg at FreeBSD.org
Thu Jun 20 22:50:11 UTC 2013
Author: sjg
Date: Thu Jun 20 22:50:08 2013
New Revision: 252048
URL: http://svnweb.freebsd.org/changeset/base/252048
Log:
share/mk: merge: r241298,243393,249057,251506 from head for bmake support.
Makefile: buildworld etc will be done with make from src tree,
make sure that bmake's -J 15,16 are not passed to it.
Reviewed by: obrien
Modified:
stable/9/Makefile
stable/9/share/mk/bsd.crunchgen.mk
stable/9/share/mk/bsd.dep.mk
stable/9/share/mk/bsd.obj.mk
stable/9/share/mk/bsd.own.mk
stable/9/share/mk/bsd.subdir.mk
stable/9/share/mk/bsd.sys.mk (contents, props changed)
stable/9/share/mk/sys.mk
Directory Properties:
stable/9/share/mk/ (props changed)
Modified: stable/9/Makefile
==============================================================================
--- stable/9/Makefile Thu Jun 20 22:01:36 2013 (r252047)
+++ stable/9/Makefile Thu Jun 20 22:50:08 2013 (r252048)
@@ -127,7 +127,13 @@ MAKEPATH= ${MAKEOBJDIRPREFIX}${.CURDIR}/
BINMAKE= \
`if [ -x ${MAKEPATH}/make ]; then echo ${MAKEPATH}/make; else echo ${MAKE}; fi` \
-m ${.CURDIR}/share/mk
+
+.if defined(.PARSEDIR)
+# don't pass -J to fmake
+_MAKE= PATH=${PATH} MAKEFLAGS="${MAKEFLAGS:N-J:N1*,1*}" ${BINMAKE} -f Makefile.inc1 TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH}
+.else
_MAKE= PATH=${PATH} ${BINMAKE} -f Makefile.inc1 TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH}
+.endif
# Guess machine architecture from machine type, and vice versa.
.if !defined(TARGET_ARCH) && defined(TARGET)
Modified: stable/9/share/mk/bsd.crunchgen.mk
==============================================================================
--- stable/9/share/mk/bsd.crunchgen.mk Thu Jun 20 22:01:36 2013 (r252047)
+++ stable/9/share/mk/bsd.crunchgen.mk Thu Jun 20 22:50:08 2013 (r252048)
@@ -36,6 +36,8 @@ OUTPUTS=$(OUTMK) $(OUTC) $(PROG).cache
CRUNCHOBJS= ${.OBJDIR}
.if defined(MAKEOBJDIRPREFIX)
CANONICALOBJDIR:= ${MAKEOBJDIRPREFIX}${.CURDIR}
+.elif defined(MAKEOBJDIR) && ${MAKEOBJDIR:M/*} != ""
+CANONICALOBJDIR:=${MAKEOBJDIR}
.else
CANONICALOBJDIR:= /usr/obj${.CURDIR}
.endif
Modified: stable/9/share/mk/bsd.dep.mk
==============================================================================
--- stable/9/share/mk/bsd.dep.mk Thu Jun 20 22:01:36 2013 (r252047)
+++ stable/9/share/mk/bsd.dep.mk Thu Jun 20 22:50:08 2013 (r252048)
@@ -123,6 +123,9 @@ ${_YC:R}.o: ${_YC}
.if defined(SRCS)
depend: beforedepend ${DEPENDFILE} afterdepend
+# Tell bmake not to look for generated files via .PATH
+.NOPATH: ${DEPENDFILE}
+
# Different types of sources are compiled with slightly different flags.
# Split up the sources, and filter out headers and non-applicable flags.
MKDEP_CFLAGS= ${CFLAGS:M-nostdinc*} ${CFLAGS:M-[BIDU]*} ${CFLAGS:M-std=*} \
Modified: stable/9/share/mk/bsd.obj.mk
==============================================================================
--- stable/9/share/mk/bsd.obj.mk Thu Jun 20 22:01:36 2013 (r252047)
+++ stable/9/share/mk/bsd.obj.mk Thu Jun 20 22:50:08 2013 (r252048)
@@ -44,6 +44,8 @@ __<bsd.obj.mk>__:
.if defined(MAKEOBJDIRPREFIX)
CANONICALOBJDIR:=${MAKEOBJDIRPREFIX}${.CURDIR}
+.elif defined(MAKEOBJDIR) && ${MAKEOBJDIR:M/*} != ""
+CANONICALOBJDIR:=${MAKEOBJDIR}
.else
CANONICALOBJDIR:=/usr/obj${.CURDIR}
.endif
@@ -116,6 +118,11 @@ cleanobj: clean cleandepend
.endif
@if [ -L ${.CURDIR}/obj ]; then rm -f ${.CURDIR}/obj; fi
+# Tell bmake not to look for generated files via .PATH
+.if !empty(CLEANFILES)
+.NOPATH: ${CLEANFILES}
+.endif
+
.if !target(clean)
clean:
.if defined(CLEANFILES) && !empty(CLEANFILES)
Modified: stable/9/share/mk/bsd.own.mk
==============================================================================
--- stable/9/share/mk/bsd.own.mk Thu Jun 20 22:01:36 2013 (r252047)
+++ stable/9/share/mk/bsd.own.mk Thu Jun 20 22:50:08 2013 (r252048)
@@ -652,7 +652,7 @@ MK_${vv:H}:= ${MK_${vv:T}}
.if ${MK_CTF} != "no"
CTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.elif ${MAKE_VERSION} >= 9201210220
+.elif defined(.PARSEDIR) || ${MAKE_VERSION} >= 9201210220
CTFCONVERT_CMD=
.else
CTFCONVERT_CMD= @:
Modified: stable/9/share/mk/bsd.subdir.mk
==============================================================================
--- stable/9/share/mk/bsd.subdir.mk Thu Jun 20 22:01:36 2013 (r252047)
+++ stable/9/share/mk/bsd.subdir.mk Thu Jun 20 22:50:08 2013 (r252048)
@@ -42,7 +42,7 @@ distribute:
_SUBDIR: .USE
.if defined(SUBDIR) && !empty(SUBDIR) && !defined(NO_SUBDIR)
- @${_+_}for entry in ${SUBDIR}; do \
+ @${_+_}set -e; for entry in ${SUBDIR}; do \
if test -d ${.CURDIR}/$${entry}.${MACHINE_ARCH}; then \
${ECHODIR} "===> ${DIRPRFX}$${entry}.${MACHINE_ARCH} (${.TARGET:realinstall=install})"; \
edir=$${entry}.${MACHINE_ARCH}; \
@@ -79,7 +79,7 @@ ${__stage}${__target}: _SUBDIR
.endif
.endfor
${__target}:
- ${_+_}cd ${.CURDIR}; ${MAKE} build${__target}; ${MAKE} install${__target}
+ ${_+_}set -e; cd ${.CURDIR}; ${MAKE} build${__target}; ${MAKE} install${__target}
.endfor
.if !target(install)
Modified: stable/9/share/mk/bsd.sys.mk
==============================================================================
--- stable/9/share/mk/bsd.sys.mk Thu Jun 20 22:01:36 2013 (r252047)
+++ stable/9/share/mk/bsd.sys.mk Thu Jun 20 22:50:08 2013 (r252048)
@@ -126,3 +126,18 @@ CFLAGS+= ${SSP_CFLAGS}
# Allow user-specified additional warning flags
CFLAGS+= ${CWARNFLAGS}
+
+
+# Tell bmake not to mistake standard targets for things to be searched for
+# or expect to ever be up-to-date.
+PHONY_NOTMAIN = afterdepend afterinstall all beforedepend beforeinstall \
+ beforelinking build build-tools buildfiles buildincludes \
+ checkdpadd clean cleandepend cleandir cleanobj configure \
+ depend dependall distclean distribute exe extract fetch \
+ html includes install installfiles installincludes lint \
+ obj objlink objs objwarn patch realall realdepend \
+ realinstall regress subdir-all subdir-depend subdir-install \
+ tags whereobj
+
+.PHONY: ${PHONY_NOTMAIN}
+.NOTMAIN: ${PHONY_NOTMAIN}
Modified: stable/9/share/mk/sys.mk
==============================================================================
--- stable/9/share/mk/sys.mk Thu Jun 20 22:01:36 2013 (r252047)
+++ stable/9/share/mk/sys.mk Thu Jun 20 22:50:08 2013 (r252048)
@@ -16,6 +16,10 @@ unix ?= We run FreeBSD, not UNIX.
MACHINE_CPUARCH=${MACHINE_ARCH:C/mips.*e[lb]/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
.endif
+# Set any local definitions first. Place this early, but it needs
+# MACHINE_CPUARCH to be defined.
+.sinclude <local.sys.mk>
+
# If the special target .POSIX appears (without prerequisites or
# commands) before the first noncomment line in the makefile, make shall
# process the makefile as specified by the Posix 1003.2 specification.
@@ -320,8 +324,22 @@ SHELL= ${__MAKE_SHELL}
# XXX hint for bsd.port.mk
OBJFORMAT?= elf
+# Tell bmake to expand -V VAR by default
+.MAKE.EXPAND_VARIABLES= yes
+
+# Tell bmake the makefile preference
+.MAKE.MAKEFILE_PREFERENCE= BSDmakefile makefile Makefile
+
+.if !defined(.PARSEDIR)
+# We are not bmake, which is more aggressive about searching .PATH
+# It is sometime necessary to curb its enthusiasm with .NOPATH
+# The following allows us to quietly ignore .NOPATH when not using bmake.
+.NOTMAIN: .NOPATH
+.NOPATH:
+
# Toggle on warnings
.WARN: dirsyntax
+.endif
.endif
More information about the svn-src-stable-9
mailing list