From owner-svn-src-all@freebsd.org Thu Apr 14 22:00:35 2016 Return-Path: Delivered-To: svn-src-all@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 1C7D4AECC46; Thu, 14 Apr 2016 22:00:35 +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 E170D1CC1; Thu, 14 Apr 2016 22:00:34 +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 u3EM0YQd055249; Thu, 14 Apr 2016 22:00:34 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u3EM0YET055247; Thu, 14 Apr 2016 22:00:34 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201604142200.u3EM0YET055247@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Thu, 14 Apr 2016 22:00:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r298006 - in head: . share/man/man7 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Apr 2016 22:00:35 -0000 Author: bdrewery Date: Thu Apr 14 22:00:33 2016 New Revision: 298006 URL: https://svnweb.freebsd.org/changeset/base/298006 Log: META_MODE+filemon: Default -DNO_CLEAN enabled. When using meta mode with filemon, the build is reliably incremental safe. Bmake will use the meta files, along with filemon information, to rebuild targets when their dependencies change, commands change, or files they generate are missing. Sponsored by: EMC / Isilon Storage Division Modified: head/Makefile.inc1 head/share/man/man7/build.7 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Thu Apr 14 21:56:36 2016 (r298005) +++ head/Makefile.inc1 Thu Apr 14 22:00:33 2016 (r298006) @@ -144,6 +144,15 @@ CLEANDIR= clean cleandepend CLEANDIR= cleandir .endif +.if ${MK_META_MODE} == "yes" +# If filemon is used then we can rely on the build being incremental-safe. +# The .meta files will also track the build command and rebuild should +# it change. +.if empty(.MAKE.MODE:Mnofilemon) +NO_CLEAN= t +.endif +.endif + LOCAL_TOOL_DIRS?= PACKAGEDIR?= ${DESTDIR}/${DISTDIR} Modified: head/share/man/man7/build.7 ============================================================================== --- head/share/man/man7/build.7 Thu Apr 14 21:56:36 2016 (r298005) +++ head/share/man/man7/build.7 Thu Apr 14 22:00:33 2016 (r298006) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 29, 2016 +.Dd April 14, 2016 .Dt BUILD 7 .Os .Sh NAME @@ -539,6 +539,14 @@ instead of .Dq make cleandir . .It Va NO_CLEAN If set, no object tree files are cleaned at all. +This is the default when +.Va WITH_META_MODE +is used with +.Xr filemon 4 +loaded. +See +.Xr src.conf 5 +for more details. Setting .Va NO_CLEAN implies