Add a 'make cleanuniverse'.
This will remove all build files for the source directory when MK_UNIFIED_OBJDIR is enabled. Sponsored by: Dell EMC Isilon
This commit is contained in:
parent
dfa099890c
commit
c10062b9bf
1
Makefile
1
Makefile
@ -122,6 +122,7 @@
|
||||
TGTS= all all-man buildenv buildenvvars buildkernel buildworld \
|
||||
check check-old check-old-dirs check-old-files check-old-libs \
|
||||
checkdpadd checkworld clean cleandepend cleandir cleanworld \
|
||||
cleanuniverse \
|
||||
delete-old delete-old-dirs delete-old-files delete-old-libs \
|
||||
depend distribute distributekernel distributekernel.debug \
|
||||
distributeworld distrib-dirs distribution doxygen \
|
||||
|
@ -2751,14 +2751,21 @@ builddtb: .PHONY
|
||||
# in this makefile. We don't do a cleandir walk if MK_AUTO_OBJ is yes
|
||||
# since it is not possible for files to land in the wrong place.
|
||||
#
|
||||
BW_CANONICALOBJDIR:=${OBJTOP}
|
||||
cleanworld: .PHONY
|
||||
.if exists(${BW_CANONICALOBJDIR}/)
|
||||
-rm -rf ${BW_CANONICALOBJDIR}/*
|
||||
-chflags -R 0 ${BW_CANONICALOBJDIR}
|
||||
rm -rf ${BW_CANONICALOBJDIR}/*
|
||||
.if make(cleanworld)
|
||||
BW_CANONICALOBJDIR:=${OBJTOP}/
|
||||
.elif make(cleanuniverse)
|
||||
BW_CANONICALOBJDIR:=${OBJROOT}
|
||||
.if ${MK_UNIFIED_OBJDIR} == "no"
|
||||
.error ${.TARGETS} only supported with WITH_UNIFIED_OBJDIR enabled.
|
||||
.endif
|
||||
.if ${MK_AUTO_OBJ} == "no"
|
||||
.endif
|
||||
cleanworld cleanuniverse: .PHONY
|
||||
.if !empty(BW_CANONICALOBJDIR) && exists(${BW_CANONICALOBJDIR})
|
||||
-rm -rf ${BW_CANONICALOBJDIR}*
|
||||
-chflags -R 0 ${BW_CANONICALOBJDIR}
|
||||
rm -rf ${BW_CANONICALOBJDIR}*
|
||||
.endif
|
||||
.if make(cleanworld) && ${MK_AUTO_OBJ} == "no"
|
||||
.if ${.CURDIR} == ${.OBJDIR} || ${.CURDIR}/obj == ${.OBJDIR}
|
||||
# To be safe in this case, fall back to a 'make cleandir'
|
||||
${_+_}@cd ${.CURDIR}; ${MAKE} cleandir
|
||||
|
@ -207,8 +207,15 @@ for cross builds and native builds with variable
|
||||
set.
|
||||
.It Cm cleanworld
|
||||
Attempt to clean up targets built by a preceding
|
||||
.Cm buildworld
|
||||
step.
|
||||
.Cm buildworld ,
|
||||
or similar step built from this source directory.
|
||||
.It Cm cleanuniverse
|
||||
When
|
||||
.Va WITH_UNIFIED_OBJDIR
|
||||
is enabled, attempt to clean up targets built by a preceding
|
||||
.Cm buildworld ,
|
||||
.Cm universe ,
|
||||
or similar step, for any architecture built from this source directory.
|
||||
.It Cm distributeworld
|
||||
Distribute everything compiled by a preceding
|
||||
.Cm buildworld
|
||||
|
Loading…
Reference in New Issue
Block a user