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