svn commit: r265209 - projects/bmake/share/mk

Simon J. Gerraty sjg at FreeBSD.org
Fri May 2 01:39:31 UTC 2014


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>__)


More information about the svn-src-projects mailing list