From owner-svn-src-head@freebsd.org Sun Jun 5 23:04:44 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 64D55B6BB65; Sun, 5 Jun 2016 23:04:44 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 273AD18C6; Sun, 5 Jun 2016 23:04:44 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u55N4hFw023964; Sun, 5 Jun 2016 23:04:43 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u55N4hcb023959; Sun, 5 Jun 2016 23:04:43 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201606052304.u55N4hcb023959@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Sun, 5 Jun 2016 23:04:43 +0000 (UTC) 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 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jun 2016 23:04:44 -0000 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 ]