Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 May 2014 18:17:26 +0000 (UTC)
From:      "Simon J. Gerraty" <sjg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r265379 - projects/bmake/share/mk
Message-ID:  <201405051817.s45IHQMB027259@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: sjg
Date: Mon May  5 18:17:26 2014
New Revision: 265379
URL: http://svnweb.freebsd.org/changeset/base/265379

Log:
  If doing destroy-all and at top-level whack stage tree too.

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

Modified: projects/bmake/share/mk/bsd.obj.mk
==============================================================================
--- projects/bmake/share/mk/bsd.obj.mk	Mon May  5 18:16:15 2014	(r265378)
+++ projects/bmake/share/mk/bsd.obj.mk	Mon May  5 18:17:26 2014	(r265379)
@@ -153,21 +153,42 @@ cleandir: cleanobj
 _OBJDIR?= ${.OBJDIR}
 _CURDIR?= ${.CURDIR}
 
+# destroy almost everything
+destroy: destroy-all
+destroy-all:
+
+# just remove our objdir
 destroy-arch: .NOMETA
 .if ${_OBJDIR} != ${_CURDIR}
 	cd ${_CURDIR} && rm -rf ${_OBJDIR}
 .endif
 
-destroy: destroy-all
-destroy-all:
+.if defined(HOST_OBJTOP)
+destroy-host: destroy.host
+destroy.host: .NOMETA
+	cd ${_CURDIR} && rm -rf ${HOST_OBJTOP}/${RELDIR:N.}
+.endif
 
-.if ${_OBJDIR} != ${_CURDIR}
+.if make(destroy-all) && ${RELDIR} == "."
+destroy-all: destroy-stage
+.endif
+
+# remove the stage tree
+destroy-stage: .NOMETA
+.if defined(STAGE_ROOT)
+	cd ${_CURDIR} && rm -rf ${STAGE_ROOT}
+.endif
+
+# allow parallel destruction
 .for m in ${ALL_MACHINE_LIST}
 destroy-all: destroy.$m
+.if !target(destroy.$m)
 destroy.$m: .NOMETA
+.if ${_OBJDIR} != ${_CURDIR}
 	cd ${_CURDIR} && rm -rf ${OBJROOT}$m*/${RELDIR:N.}
-.endfor
 .endif
+.endif
+.endfor
 
 .endif
 



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