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 ]
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to