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-all mailing list