svn commit: r301466 - in head: . share/mk tools/build/options
Bryan Drewery
bdrewery at FreeBSD.org
Sun Jun 5 23:04:44 UTC 2016
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 ]
More information about the svn-src-all
mailing list