Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Jun 2016 23:04:43 +0000 (UTC)
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r301466 - in head: . share/mk tools/build/options
Message-ID:  <201606052304.u55N4hcb023959@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bdrewery
Date: Sun Jun  5 23:04:42 2016
New Revision: 301466
URL: https://svnweb.freebsd.org/changeset/base/301466

Log:
  WITH_META_MODE: Enable bmake's missing meta rebuild feature

Modified:
  head/Makefile
  head/share/mk/local.meta.sys.mk
  head/share/mk/sys.mk
  head/tools/build/options/WITH_META_MODE

Modified: head/Makefile
==============================================================================
--- head/Makefile	Sun Jun  5 23:04:15 2016	(r301465)
+++ head/Makefile	Sun Jun  5 23:04:42 2016	(r301466)
@@ -162,8 +162,13 @@ _MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH
 # We cannot blindly use a make which may not be the one we want
 # so be exlicit - until all choice is removed.
 WANT_MAKE=	bmake
+.if !empty(.MAKE.MODE:Mmeta)
+# 20160604 - support missing-meta,missing-filemon and performance improvements
+WANT_MAKE_VERSION= 20160604
+.else
 # 20160220 - support .dinclude for FAST_DEPEND.
 WANT_MAKE_VERSION= 20160220
+.endif
 MYMAKE=		${MAKEOBJDIRPREFIX}${.CURDIR}/make.${MACHINE}/${WANT_MAKE}
 .if defined(.PARSEDIR)
 HAVE_MAKE=	bmake

Modified: head/share/mk/local.meta.sys.mk
==============================================================================
--- head/share/mk/local.meta.sys.mk	Sun Jun  5 23:04:15 2016	(r301465)
+++ head/share/mk/local.meta.sys.mk	Sun Jun  5 23:04:42 2016	(r301466)
@@ -278,3 +278,8 @@ CFLAGS+= ${CROSS_TARGET_FLAGS}
 ACFLAGS+= ${CROSS_TARGET_FLAGS}
 LDFLAGS+= -Wl,-m -Wl,elf_${MACHINE_ARCH}_fbsd
 .endif
+
+META_MODE+=	missing-meta=yes
+.if empty(META_MODE:Mnofilemon)
+META_MODE+=	missing-filemon=yes
+.endif

Modified: head/share/mk/sys.mk
==============================================================================
--- head/share/mk/sys.mk	Sun Jun  5 23:04:15 2016	(r301465)
+++ head/share/mk/sys.mk	Sun Jun  5 23:04:42 2016	(r301466)
@@ -47,6 +47,9 @@ __ENV_ONLY_OPTIONS:= \
 .elif ${MK_META_MODE} == "yes" && defined(.MAKEFLAGS) && ${.MAKEFLAGS:M-B} == ""
 # verbose will show .MAKE.META.PREFIX for each target.
 META_MODE+=	meta verbose
+.if !defined(NO_META_MISSING)
+META_MODE+=	missing-meta=yes
+.endif
 # silent will hide command output if a .meta file is created.
 .if !defined(NO_SILENT)
 META_MODE+=	silent=yes
@@ -57,6 +60,10 @@ META_MODE+=	silent=yes
 .endif
 META_MODE+= nofilemon
 .endif
+# Require filemon data with bmake
+.if empty(META_MODE:Mnofilemon)
+META_MODE+= missing-filemon=yes
+.endif
 .endif
 META_MODE?= normal
 .export META_MODE

Modified: head/tools/build/options/WITH_META_MODE
==============================================================================
--- head/tools/build/options/WITH_META_MODE	Sun Jun  5 23:04:15 2016	(r301465)
+++ head/tools/build/options/WITH_META_MODE	Sun Jun  5 23:04:42 2016	(r301466)
@@ -19,9 +19,10 @@ The command to execute changes.
 .It
 The current working directory changes.
 .It
-The target's meta file is missing, if it had
-.Sy .META
-as a dependency.
+The target's meta file is missing.
+.It
+The target's meta file is missing filemon data when filemon is loaded
+and a previous run did not have it loaded.
 .It
 [requires
 .Xr filemon 4 ]



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201606052304.u55N4hcb023959>