svn commit: r325418 - head/share/mk

Bryan Drewery bdrewery at FreeBSD.org
Sun Nov 5 00:12:14 UTC 2017


Author: bdrewery
Date: Sun Nov  5 00:12:12 2017
New Revision: 325418
URL: https://svnweb.freebsd.org/changeset/base/325418

Log:
  AUTO_OBJ: Allow 'make cleandir obj all' combinations.
  
  The cleanobj target will not really remove the OBJDIR in this case,
  it will only remove the OBJDIR if only clean targets are ran.
  
  Sponsored by:	Dell EMC Isilon

Modified:
  head/share/mk/bsd.dep.mk
  head/share/mk/bsd.init.mk
  head/share/mk/bsd.obj.mk

Modified: head/share/mk/bsd.dep.mk
==============================================================================
--- head/share/mk/bsd.dep.mk	Sun Nov  5 00:12:09 2017	(r325417)
+++ head/share/mk/bsd.dep.mk	Sun Nov  5 00:12:12 2017	(r325418)
@@ -327,6 +327,10 @@ cleandepend:
 .endif
 .ORDER: cleandepend all
 .ORDER: cleandepend depend
+.if ${MK_AUTO_OBJ} == "yes"
+.ORDER: cleanobj depend
+.ORDER: cleandir depend
+.endif
 
 .if !target(checkdpadd) && (defined(DPADD) || defined(LDADD))
 _LDADD_FROM_DPADD=	${DPADD:R:T:C;^lib(.*)$;-l\1;g}

Modified: head/share/mk/bsd.init.mk
==============================================================================
--- head/share/mk/bsd.init.mk	Sun Nov  5 00:12:09 2017	(r325417)
+++ head/share/mk/bsd.init.mk	Sun Nov  5 00:12:12 2017	(r325418)
@@ -64,7 +64,8 @@ _SKIP_BUILD=	not building at level 0
     ${.TARGETS:M*install*} == ${.TARGETS} || \
     ${.TARGETS:Mclean*} == ${.TARGETS} || \
     ${.TARGETS:Mdestroy*} == ${.TARGETS} || \
-    make(obj) || make(analyze) || make(print-dir)
+    ${.TARGETS:Mobj} == ${.TARGETS} || \
+    make(analyze) || make(print-dir)
 # Skip building, but don't show a warning.
 _SKIP_BUILD=
 .endif

Modified: head/share/mk/bsd.obj.mk
==============================================================================
--- head/share/mk/bsd.obj.mk	Sun Nov  5 00:12:09 2017	(r325417)
+++ head/share/mk/bsd.obj.mk	Sun Nov  5 00:12:12 2017	(r325418)
@@ -164,7 +164,8 @@ whereobj:
 .endif
 
 # Same check in bsd.progs.mk
-.if ${CANONICALOBJDIR} != ${.CURDIR} && exists(${CANONICALOBJDIR}/)
+.if ${CANONICALOBJDIR} != ${.CURDIR} && exists(${CANONICALOBJDIR}/) && \
+    (${MK_AUTO_OBJ} == "no" || ${.TARGETS:Nclean*:N*clean:Ndestroy*} == "")
 cleanobj:
 	-rm -rf ${CANONICALOBJDIR}
 .else
@@ -188,6 +189,10 @@ clean:
 .endif
 .endif
 .ORDER: clean all
+.if ${MK_AUTO_OBJ} == "yes"
+.ORDER: cleanobj all
+.ORDER: cleandir all
+.endif
 
 .include <bsd.subdir.mk>
 


More information about the svn-src-all mailing list