Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 May 2014 01:39:30 +0000 (UTC)
From:      "Simon J. Gerraty" <sjg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r265209 - projects/bmake/share/mk
Message-ID:  <201405020139.s421dUgV060769@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: sjg
Date: Fri May  2 01:39:30 2014
New Revision: 265209
URL: http://svnweb.freebsd.org/changeset/base/265209

Log:
  Add 'destroy' target to efficiently rm -rf objtree
  
  Reviewed by: obrien

Modified:
  projects/bmake/share/mk/bsd.obj.mk

Modified: projects/bmake/share/mk/bsd.obj.mk
==============================================================================
--- projects/bmake/share/mk/bsd.obj.mk	Fri May  2 01:28:19 2014	(r265208)
+++ projects/bmake/share/mk/bsd.obj.mk	Fri May  2 01:39:30 2014	(r265209)
@@ -146,4 +146,29 @@ cleandir: cleanobj
 
 .include <bsd.subdir.mk>
 
+.if make(destroy*) && defined(OBJROOT)
+# this is much faster and more reliable than cleaning.
+
+# just in case we are playing games with these...
+_OBJDIR?= ${.OBJDIR}
+_CURDIR?= ${.CURDIR}
+
+destroy-arch: .NOMETA
+.if ${_OBJDIR} != ${_CURDIR}
+	cd ${_CURDIR} && rm -rf ${_OBJDIR}
+.endif
+
+destroy: destroy-all
+destroy-all:
+
+.if ${_OBJDIR} != ${_CURDIR}
+.for m in ${ALL_MACHINE_LIST}
+destroy-all: destroy.$m
+destroy.$m: .NOMETA
+	cd ${_CURDIR} && rm -rf ${OBJROOT}$m*/${RELDIR:N.}
+.endfor
+.endif
+
+.endif
+
 .endif # !target(__<bsd.obj.mk>__)



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