Module Name: src
Committed By: apb
Date: Sat Sep 10 16:57:36 UTC 2011
Modified Files:
src/share/mk: bsd.README bsd.dep.mk bsd.files.mk bsd.hostlib.mk
bsd.hostprog.mk bsd.info.mk bsd.kmodule.mk bsd.lib.mk bsd.man.mk
bsd.nls.mk bsd.prog.mk bsd.rpc.mk bsd.test.mk bsd.x11.mk
Added Files:
src/share/mk: bsd.clean.mk
Log Message:
Move all "clean" and "cleandir" processing to a new bsd.clean.mk
file, as proposed in tech-toolchain.
To generate a diff of this commit:
cvs rdiff -u -r1.285 -r1.286 src/share/mk/bsd.README
cvs rdiff -u -r0 -r1.1 src/share/mk/bsd.clean.mk
cvs rdiff -u -r1.72 -r1.73 src/share/mk/bsd.dep.mk
cvs rdiff -u -r1.41 -r1.42 src/share/mk/bsd.files.mk
cvs rdiff -u -r1.15 -r1.16 src/share/mk/bsd.hostlib.mk
cvs rdiff -u -r1.63 -r1.64 src/share/mk/bsd.hostprog.mk
cvs rdiff -u -r1.39 -r1.40 src/share/mk/bsd.info.mk
cvs rdiff -u -r1.31 -r1.32 src/share/mk/bsd.kmodule.mk
cvs rdiff -u -r1.315 -r1.316 src/share/mk/bsd.lib.mk
cvs rdiff -u -r1.108 -r1.109 src/share/mk/bsd.man.mk
cvs rdiff -u -r1.46 -r1.47 src/share/mk/bsd.nls.mk
cvs rdiff -u -r1.266 -r1.267 src/share/mk/bsd.prog.mk
cvs rdiff -u -r1.11 -r1.12 src/share/mk/bsd.rpc.mk
cvs rdiff -u -r1.18 -r1.19 src/share/mk/bsd.test.mk
cvs rdiff -u -r1.102 -r1.103 src/share/mk/bsd.x11.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/share/mk/bsd.README
diff -u src/share/mk/bsd.README:1.285 src/share/mk/bsd.README:1.286
--- src/share/mk/bsd.README:1.285 Fri Sep 9 10:08:14 2011
+++ src/share/mk/bsd.README Sat Sep 10 16:57:35 2011
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.README,v 1.285 2011/09/09 10:08:14 apb Exp $
+# $NetBSD: bsd.README,v 1.286 2011/09/10 16:57:35 apb Exp $
# @(#)bsd.README 8.2 (Berkeley) 4/2/94
This is the README file for the make "include" files for the NetBSD
@@ -809,6 +809,33 @@
they use the same default owners etc. as the rest of the tree.
+=-=-=-=-= bsd.clean.mk =-=-=-=-=
+
+The include file <bsd.clean.mk> defines the clean and cleandir
+targets. It uses the following variables:
+
+CLEANFILES Files to remove for both the clean and cleandir targets.
+
+CLEANDIRFILES Files to remove for the cleandir target, but not for
+ the clean target.
+
+If ${.OBJDIR} and ${.CURDIR} are different, then the clean and cleandir
+targets will delete files from both those directories. Deleting files
+from ${.OBJDIR} is the traditional behaviour. Deleting files from
+${.CURDIR} is intended to remove output files that had been left in
+the source directory by an earlier build that had used ${.OBJDIR} ==
+${.CURDIR}.
+
+To use the clean and cleandir targets defined in <bsd.clean.mk>, other
+Makefiles or bsd.*.mk files should append file names to the CLEANFILES
+or CLEANDIRFILES variables. For example:
+
+ CLEANFILES+= a.out
+ CLEANDIRFILES+= .depend
+
+ .include <bsd.clean.mk>
+
+
=-=-=-=-= bsd.dep.mk =-=-=-=-=
The include file <bsd.dep.mk> contains the default targets for building
@@ -1253,6 +1280,8 @@
BINMODE Binary mode.
+CLEANDIRFILES Additional files to remove for the cleandir target.
+
CLEANFILES Additional files to remove for the clean and cleandir targets.
COPTS Additional flags to the compiler when creating C objects.
@@ -1648,8 +1677,6 @@
If ${MAN} or ${PROG} is set and ${MKMAN} != "no",
these rules convert from X11's manual page source
into an mdoc.old source file.
- cleanx11man:
- Clean up the mdoc.old files generated by the above.
It sets the following variables:
Index: src/share/mk/bsd.dep.mk
diff -u src/share/mk/bsd.dep.mk:1.72 src/share/mk/bsd.dep.mk:1.73
--- src/share/mk/bsd.dep.mk:1.72 Sun Apr 10 16:52:36 2011
+++ src/share/mk/bsd.dep.mk Sat Sep 10 16:57:35 2011
@@ -1,7 +1,6 @@
-# $NetBSD: bsd.dep.mk,v 1.72 2011/04/10 16:52:36 joerg Exp $
+# $NetBSD: bsd.dep.mk,v 1.73 2011/09/10 16:57:35 apb Exp $
##### Basic targets
-cleandir: cleandepend
realdepend: beforedepend .depend afterdepend
.ORDER: beforedepend .depend afterdepend
@@ -62,9 +61,8 @@
.endif # defined(SRCS) # }
##### Clean rules
-cleandepend: .PHONY
.if defined(SRCS)
- rm -f .depend ${__DPSRCS.d} ${.CURDIR}/tags ${CLEANDEPEND}
+CLEANDIRFILES+= .depend ${__DPSRCS.d} ${.CURDIR}/tags ${CLEANDEPEND}
.endif
##### Custom rules
@@ -75,3 +73,6 @@
${TOOL_SED} "s;\${.CURDIR}/;;" > tags
.endif
.endif
+
+##### Pull in related .mk logic
+.include <bsd.clean.mk>
Index: src/share/mk/bsd.files.mk
diff -u src/share/mk/bsd.files.mk:1.41 src/share/mk/bsd.files.mk:1.42
--- src/share/mk/bsd.files.mk:1.41 Wed Feb 3 15:34:44 2010
+++ src/share/mk/bsd.files.mk Sat Sep 10 16:57:35 2011
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.files.mk,v 1.41 2010/02/03 15:34:44 roy Exp $
+# $NetBSD: bsd.files.mk,v 1.42 2011/09/10 16:57:35 apb Exp $
.if !defined(_BSD_FILES_MK_)
_BSD_FILES_MK_=1
@@ -118,9 +118,7 @@
realall: ${BUILDSYMLINKS.t}
-cleandir: cleanbuildsymlinks
-cleanbuildsymlinks: .PHONY
- rm -f ${BUILDSYMLINKS.t}
+CLEANDIRFILES+= ${BUILDSYMLINKS.t}
.endif # }
@@ -149,13 +147,12 @@
CLEANUUDECODE_FILES+=${UUDECODE_FILES_RENAME_${i}}
.endfor
-clean: cleanuudecodefiles
-cleanuudecodefiles: .PHONY
- rm -f ${CLEANUUDECODE_FILES}
+CLEANFILES+= ${CLEANUUDECODE_FILES}
.endif # }
##### Pull in related .mk logic
.include <bsd.obj.mk>
.include <bsd.sys.mk>
+.include <bsd.clean.mk>
.endif # !defined(_BSD_FILES_MK_)
Index: src/share/mk/bsd.hostlib.mk
diff -u src/share/mk/bsd.hostlib.mk:1.15 src/share/mk/bsd.hostlib.mk:1.16
--- src/share/mk/bsd.hostlib.mk:1.15 Fri Aug 5 09:36:28 2011
+++ src/share/mk/bsd.hostlib.mk Sat Sep 10 16:57:35 2011
@@ -1,10 +1,9 @@
-# $NetBSD: bsd.hostlib.mk,v 1.15 2011/08/05 09:36:28 plunky Exp $
+# $NetBSD: bsd.hostlib.mk,v 1.16 2011/09/10 16:57:35 apb Exp $
.include <bsd.init.mk>
.include <bsd.sys.mk>
##### Basic targets
-clean: cleanlib
##### Default values
CFLAGS+= ${COPTS}
@@ -44,9 +43,7 @@
realall: lib${HOSTLIB}.a
-cleanlib: .PHONY
- rm -f a.out [Ee]rrs mklog core *.core \
- lib${HOSTLIB}.a ${OBJS} ${CLEANFILES}
+CLEANFILES+= a.out [Ee]rrs mklog core *.core lib${HOSTLIB}.a ${OBJS}
beforedepend:
CFLAGS:= ${HOST_CFLAGS}
@@ -55,5 +52,6 @@
##### Pull in related .mk logic
.include <bsd.obj.mk>
.include <bsd.dep.mk>
+.include <bsd.clean.mk>
${TARGETS}: # ensure existence
Index: src/share/mk/bsd.hostprog.mk
diff -u src/share/mk/bsd.hostprog.mk:1.63 src/share/mk/bsd.hostprog.mk:1.64
--- src/share/mk/bsd.hostprog.mk:1.63 Sun Jun 5 23:09:15 2011
+++ src/share/mk/bsd.hostprog.mk Sat Sep 10 16:57:35 2011
@@ -1,11 +1,10 @@
-# $NetBSD: bsd.hostprog.mk,v 1.63 2011/06/05 23:09:15 christos Exp $
+# $NetBSD: bsd.hostprog.mk,v 1.64 2011/09/10 16:57:35 apb Exp $
# @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94
.include <bsd.init.mk>
.include <bsd.sys.mk>
##### Basic targets
-clean: cleanprog
##### Default values
LIBATF_C?= /usr/lib/libatf-c.a
@@ -123,9 +122,7 @@
realall: ${HOSTPROG}
-cleanprog: .PHONY
- rm -f a.out [Ee]rrs mklog core *.core \
- ${HOSTPROG} ${OBJS} ${LOBJS} ${CLEANFILES}
+CLEANFILES+= a.out [Ee]rrs mklog core *.core ${HOSTPROG} ${OBJS} ${LOBJS}
beforedepend:
CFLAGS:= ${HOST_CFLAGS}
@@ -144,6 +141,7 @@
.include <bsd.inc.mk>
.include <bsd.links.mk>
.include <bsd.dep.mk>
+.include <bsd.clean.mk>
${TARGETS}: # ensure existence
Index: src/share/mk/bsd.info.mk
diff -u src/share/mk/bsd.info.mk:1.39 src/share/mk/bsd.info.mk:1.40
--- src/share/mk/bsd.info.mk:1.39 Sat Feb 28 19:18:52 2009
+++ src/share/mk/bsd.info.mk Sat Sep 10 16:57:35 2011
@@ -1,9 +1,8 @@
-# $NetBSD: bsd.info.mk,v 1.39 2009/02/28 19:18:52 joerg Exp $
+# $NetBSD: bsd.info.mk,v 1.40 2011/09/10 16:57:35 apb Exp $
.include <bsd.init.mk>
##### Basic targets
-cleandir: cleaninfo
realinstall: infoinstall
##### Default values
@@ -78,15 +77,11 @@
.endif # ${MKINFO} != "no"
##### Clean rules
-CLEANFILES+= ${INFOFILES}
-
-cleaninfo: .PHONY
-.if !empty(CLEANFILES)
- rm -f ${CLEANFILES}
-.endif
+CLEANDIRFILES+= ${INFOFILES}
##### Pull in related .mk logic
.include <bsd.obj.mk>
.include <bsd.sys.mk>
+.include <bsd.clean.mk>
${TARGETS}: # ensure existence
Index: src/share/mk/bsd.kmodule.mk
diff -u src/share/mk/bsd.kmodule.mk:1.31 src/share/mk/bsd.kmodule.mk:1.32
--- src/share/mk/bsd.kmodule.mk:1.31 Thu Jul 14 18:12:35 2011
+++ src/share/mk/bsd.kmodule.mk Sat Sep 10 16:57:35 2011
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.kmodule.mk,v 1.31 2011/07/14 18:12:35 matt Exp $
+# $NetBSD: bsd.kmodule.mk,v 1.32 2011/09/10 16:57:35 apb Exp $
# We are not building this with PIE
MKPIE=no
@@ -8,7 +8,6 @@
.include <bsd.sys.mk>
##### Basic targets
-clean: cleankmod
realinstall: kmodinstall
KERN= $S/kern
@@ -124,9 +123,7 @@
.endif # !target(kmodinstall)
##### Clean rules
-cleankmod: .PHONY
- rm -f a.out [Ee]rrs mklog core *.core \
- ${PROG} ${OBJS} ${LOBJS} ${CLEANFILES}
+CLEANFILES+= a.out [Ee]rrs mklog core *.core ${PROG} ${OBJS} ${LOBJS}
##### Custom rules
lint: ${LOBJS}
@@ -141,6 +138,7 @@
.include <bsd.man.mk>
.include <bsd.links.mk>
.include <bsd.dep.mk>
+.include <bsd.clean.mk>
.-include "$S/arch/${MACHINE_CPU}/include/Makefile.inc"
.-include "$S/arch/${MACHINE}/include/Makefile.inc"
Index: src/share/mk/bsd.lib.mk
diff -u src/share/mk/bsd.lib.mk:1.315 src/share/mk/bsd.lib.mk:1.316
--- src/share/mk/bsd.lib.mk:1.315 Sat Aug 27 18:35:20 2011
+++ src/share/mk/bsd.lib.mk Sat Sep 10 16:57:35 2011
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.lib.mk,v 1.315 2011/08/27 18:35:20 joerg Exp $
+# $NetBSD: bsd.lib.mk,v 1.316 2011/09/10 16:57:35 apb Exp $
# @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94
.include <bsd.init.mk>
@@ -37,7 +37,6 @@
##### Basic targets
.PHONY: checkver libinstall
realinstall: checkver libinstall
-clean: cleanlib
##### LIB specific flags.
# XXX: This is needed for programs that link with .a libraries
@@ -596,14 +595,13 @@
${LINT} ${LINTFLAGS} ${LOBJS}
.endif
-cleanlib: .PHONY
- rm -f a.out [Ee]rrs mklog core *.core ${CLEANFILES}
- rm -f lib${LIB}.a ${STOBJS}
- rm -f lib${LIB}_p.a ${POBJS}
- rm -f lib${LIB}_g.a ${GOBJS}
- rm -f lib${LIB}_pic.a lib${LIB}.so.* lib${LIB}.so ${_LIB.debug} ${SOBJS}
- rm -f ${STOBJS:=.tmp} ${POBJS:=.tmp} ${SOBJS:=.tmp} ${GOBJS:=.tmp}
- rm -f llib-l${LIB}.ln ${LOBJS}
+CLEANFILES+= a.out [Ee]rrs mklog core *.core
+CLEANFILES+= lib${LIB}.a ${STOBJS}
+CLEANFILES+= lib${LIB}_p.a ${POBJS}
+CLEANFILES+= lib${LIB}_g.a ${GOBJS}
+CLEANFILES+= lib${LIB}_pic.a lib${LIB}.so.* lib${LIB}.so ${_LIB.debug} ${SOBJS}
+CLEANFILES+= ${STOBJS:=.tmp} ${POBJS:=.tmp} ${SOBJS:=.tmp} ${GOBJS:=.tmp}
+CLEANFILES+= llib-l${LIB}.ln ${LOBJS}
.if !target(libinstall) # {
@@ -777,5 +775,6 @@
.include <bsd.links.mk>
.include <bsd.dep.mk>
.include <bsd.clang-analyze.mk>
+.include <bsd.clean.mk>
${TARGETS}: # ensure existence
Index: src/share/mk/bsd.man.mk
diff -u src/share/mk/bsd.man.mk:1.108 src/share/mk/bsd.man.mk:1.109
--- src/share/mk/bsd.man.mk:1.108 Thu Jun 30 18:13:51 2011
+++ src/share/mk/bsd.man.mk Sat Sep 10 16:57:35 2011
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.man.mk,v 1.108 2011/06/30 18:13:51 matt Exp $
+# $NetBSD: bsd.man.mk,v 1.109 2011/09/10 16:57:35 apb Exp $
# @(#)bsd.man.mk 8.1 (Berkeley) 6/8/93
.include <bsd.init.mk>
@@ -245,21 +245,15 @@
##### Clean rules
.undef _F
-cleandir: cleanman
-.if !empty(CLEANFILES)
- rm -f ${CLEANFILES}
-.endif
-
-cleanman: .PHONY
.if !empty(MAN) && (${MKMAN} != "no")
.if (${MKCATPAGES} != "no")
- rm -f ${CATPAGES}
+CLEANDIRFILES+= ${CATPAGES}
.endif
.if !empty(MANSUFFIX)
- rm -f ${MANPAGES} ${CATPAGES:S/${MANSUFFIX}$//}
+CLEANDIRFILES+= ${MANPAGES} ${CATPAGES:S/${MANSUFFIX}$//}
.endif
.if ${MKHTML} != "no"
- rm -f ${HTMLPAGES}
+CLEANDIRFILES+= ${HTMLPAGES}
.endif
.endif
# (XXX ${CATPAGES:S...} cleans up old .catN files where .catN.gz now used)
@@ -273,5 +267,6 @@
.include <bsd.obj.mk>
.include <bsd.files.mk>
.include <bsd.sys.mk>
+.include <bsd.clean.mk>
${TARGETS} catinstall maninstall htmlinstall: # ensure existence
Index: src/share/mk/bsd.nls.mk
diff -u src/share/mk/bsd.nls.mk:1.46 src/share/mk/bsd.nls.mk:1.47
--- src/share/mk/bsd.nls.mk:1.46 Thu Mar 16 18:43:34 2006
+++ src/share/mk/bsd.nls.mk Sat Sep 10 16:57:35 2011
@@ -1,9 +1,8 @@
-# $NetBSD: bsd.nls.mk,v 1.46 2006/03/16 18:43:34 jwise Exp $
+# $NetBSD: bsd.nls.mk,v 1.47 2011/09/10 16:57:35 apb Exp $
.include <bsd.init.mk>
##### Basic targets
-cleandir: cleannls
realinstall: nlsinstall
##### Default values
@@ -62,11 +61,11 @@
.endif # ${MKNLS} != "no"
##### Clean rules
-cleannls: .PHONY
.if ${MKNLS} != "no" && !empty(NLS)
- rm -f ${NLSALL}
+CLEANDIRFILES+= ${NLSALL}
.endif
##### Pull in related .mk logic
.include <bsd.obj.mk>
.include <bsd.sys.mk>
+.include <bsd.clean.mk>
Index: src/share/mk/bsd.prog.mk
diff -u src/share/mk/bsd.prog.mk:1.266 src/share/mk/bsd.prog.mk:1.267
--- src/share/mk/bsd.prog.mk:1.266 Sat Aug 27 18:35:20 2011
+++ src/share/mk/bsd.prog.mk Sat Sep 10 16:57:35 2011
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.prog.mk,v 1.266 2011/08/27 18:35:20 joerg Exp $
+# $NetBSD: bsd.prog.mk,v 1.267 2011/09/10 16:57:35 apb Exp $
# @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94
.ifndef HOSTPROG
@@ -14,7 +14,6 @@
##### Basic targets
realinstall: proginstall scriptsinstall
-clean: cleanprog
.gdbinit:
rm -f .gdbinit
@@ -27,10 +26,7 @@
echo "source ${__gdbinit}" >> .gdbinit
.endfor
-cleanobjs: .PHONY
-
-cleanprog: .PHONY cleanobjs cleanextra
- rm -f a.out [Ee]rrs mklog core *.core .gdbinit
+CLEANFILES+= a.out [Ee]rrs mklog core *.core .gdbinit
.if defined(SHAREDSTRINGS)
CLEANFILES+=strings
@@ -352,14 +348,10 @@
realall: ${_P} ${_PROGDEBUG.${_P}}
-cleanprog: cleanprog-${_P}
-cleanprog-${_P}:
- rm -f ${_P} ${_PROGDEBUG.${_P}}
+CLEANFILES+= ${_P} ${_PROGDEBUG.${_P}}
.if defined(OBJS.${_P}) && !empty(OBJS.${_P})
-cleanobjs: cleanobjs-${_P}
-cleanobjs-${_P}:
- rm -f ${OBJS.${_P}} ${LOBJS.${_P}}
+CLEANFILES+= ${OBJS.${_P}} ${LOBJS.${_P}}
.endif
_PROG_INSTALL+= proginstall-${_P}
@@ -414,9 +406,7 @@
.if defined(OBJS) && !empty(OBJS) && \
(empty(PROGS) && empty(PROGS_CXX))
-cleanobjs: cleanobjs-plain
-cleanobjs-plain:
- rm -f ${OBJS} ${LOBJS}
+CLEANFILES+= ${OBJS} ${LOBJS}
.endif
.if !target(proginstall)
@@ -476,11 +466,7 @@
.include <bsd.sys.mk>
.include <bsd.dep.mk>
.include <bsd.clang-analyze.mk>
-
-cleanextra: .PHONY
-.if defined(CLEANFILES) && !empty(CLEANFILES)
- rm -f ${CLEANFILES}
-.endif
+.include <bsd.clean.mk>
${TARGETS}: # ensure existence
Index: src/share/mk/bsd.rpc.mk
diff -u src/share/mk/bsd.rpc.mk:1.11 src/share/mk/bsd.rpc.mk:1.12
--- src/share/mk/bsd.rpc.mk:1.11 Wed May 12 16:38:01 2004
+++ src/share/mk/bsd.rpc.mk Sat Sep 10 16:57:35 2011
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.rpc.mk,v 1.11 2004/05/12 16:38:01 christos Exp $
+# $NetBSD: bsd.rpc.mk,v 1.12 2011/09/10 16:57:35 apb Exp $
.include <bsd.init.mk>
@@ -72,3 +72,4 @@
##### Pull in related .mk logic
.include <bsd.obj.mk>
.include <bsd.sys.mk>
+.include <bsd.clean.mk>
Index: src/share/mk/bsd.test.mk
diff -u src/share/mk/bsd.test.mk:1.18 src/share/mk/bsd.test.mk:1.19
--- src/share/mk/bsd.test.mk:1.18 Sat May 14 17:47:28 2011
+++ src/share/mk/bsd.test.mk Sat Sep 10 16:57:35 2011
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.test.mk,v 1.18 2011/05/14 17:47:28 jmmv Exp $
+# $NetBSD: bsd.test.mk,v 1.19 2011/09/10 16:57:35 apb Exp $
#
.include <bsd.init.mk>
@@ -36,13 +36,13 @@
.if defined(TESTS_SH)
_TESTS+= ${TESTS_SH}
-CLEANFILES+= ${TESTS_SH}
+CLEANDIRFILES+= ${TESTS_SH}
. for _T in ${TESTS_SH}
SCRIPTS+= ${_T}
SCRIPTSDIR_${_T}= ${TESTSDIR}
-CLEANFILES+= ${_T}.tmp
+CLEANDIRFILES+= ${_T}.tmp
TESTS_SH_SRC_${_T}?= ${_T}.sh
${_T}: ${TESTS_SH_SRC_${_T}}
@@ -61,7 +61,7 @@
FILESDIR_Atffile= ${TESTSDIR}
. if ${ATFFILE:tl} == "auto"
-CLEANFILES+= Atffile Atffile.tmp
+CLEANDIRFILES+= Atffile Atffile.tmp
realall: Atffile
Atffile: Makefile
@@ -83,10 +83,6 @@
.if !empty(SCRIPTS) || !empty(PROGS) || !empty(PROGS_CXX)
. include <bsd.prog.mk>
-.else
-cleandir: cleantest
-cleantest: .PHONY
- rm -f ${CLEANFILES}
.endif
#
@@ -118,7 +114,7 @@
_TESTS_FIFO = ${.OBJDIR}/atf-run.fifo
_TESTS_LOG = ${.OBJDIR}/atf-run.log
-CLEANFILES += ${_TESTS_FIFO} ${_TESTS_LOG}
+CLEANDIRFILES += ${_TESTS_FIFO} ${_TESTS_LOG}
.PHONY: test
.if defined(TESTSDIR)
@@ -156,3 +152,6 @@
test:
@echo "*** No TESTSDIR defined; nothing to do."
.endif
+
+##### Pull in related .mk logic
+.include <bsd.clean.mk>
Index: src/share/mk/bsd.x11.mk
diff -u src/share/mk/bsd.x11.mk:1.102 src/share/mk/bsd.x11.mk:1.103
--- src/share/mk/bsd.x11.mk:1.102 Thu Sep 1 16:41:48 2011
+++ src/share/mk/bsd.x11.mk Sat Sep 10 16:57:35 2011
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.x11.mk,v 1.102 2011/09/01 16:41:48 plunky Exp $
+# $NetBSD: bsd.x11.mk,v 1.103 2011/09/10 16:57:35 apb Exp $
.include <bsd.init.mk>
@@ -193,9 +193,7 @@
realall: ${CPPSCRIPTS}
-clean: cleancppscripts
-cleancppscripts: .PHONY
- rm -f ${CPPSCRIPTS}
+CLEANFILES+= ${CPPSCRIPTS}
.endif # }
#
@@ -340,9 +338,7 @@
< ${.IMPSRC} > ${.TARGET}.tmp && \
mv -f ${.TARGET}.tmp ${.TARGET}
-cleandir: cleanpkgconfig
-cleanpkgconfig: .PHONY
- rm -f ${_PKGCONFIG_FILES} ${_PKGCONFIG_FILES:C/$/.tmp/}
+CLEANDIRFILES+= ${_PKGCONFIG_FILES} ${_PKGCONFIG_FILES:C/$/.tmp/}
.endif
#
@@ -369,9 +365,7 @@
# .man page handling
#
.if (${MKMAN} != "no" && (${MAN:U} != "" || ${PROG:U} != "")) # {
-cleandir: cleanx11man
-cleanx11man: .PHONY
- rm -f ${MAN:U${PROG:D${PROG.1}}}
+CLEANDIRFILES+= ${MAN:U${PROG:D${PROG.1}}}
.endif # }
.SUFFIXES: .man .man.pre .1 .3 .4 .5 .7
@@ -430,3 +424,6 @@
${_MKTARGET_CREATE}
rm -f ${.TARGET}
${_X11MANTRANSFORMCMD} | ${X11TOOL_UNXCOMM} > ${.TARGET}
+
+##### Pull in related .mk logic
+.include <bsd.clean.mk>
Added files:
Index: src/share/mk/bsd.clean.mk
diff -u /dev/null src/share/mk/bsd.clean.mk:1.1
--- /dev/null Sat Sep 10 16:57:36 2011
+++ src/share/mk/bsd.clean.mk Sat Sep 10 16:57:35 2011
@@ -0,0 +1,60 @@
+# $NetBSD: bsd.clean.mk,v 1.1 2011/09/10 16:57:35 apb Exp $
+
+# <bsd.clean.mk>
+#
+# Public targets:
+#
+# clean: Delete files listed in ${CLEANFILES}.
+# cleandir: Delete files listed in ${CLEANFILES} and ${CLEANDIRFILES}.
+#
+# Public variables:
+#
+# CLEANFILES Files to remove for both the clean and cleandir targets.
+#
+# CLEANDIRFILES Files to remove for the cleandir target, but not for
+# the clean target.
+
+.if !defined(_BSD_CLEAN_MK_)
+_BSD_CLEAN_MK_=1
+
+.include <bsd.init.mk>
+
+clean: .PHONY __doclean
+__doclean: .PHONY .MADE __cleanuse CLEANFILES
+cleandir: .PHONY clean __docleandir
+__docleandir: .PHONY .MADE __cleanuse CLEANDIRFILES
+
+# __cleanuse is invoked with ${.ALLSRC} as the name of a variable
+# (such as CLEANFILES or CLEANDIRFILES), or possibly a list of
+# variable names. ${.ALLSRC:@v@${${v}}@} will be the list of
+# files to delete. (We pass the variable name, e.g. CLEANFILES,
+# instead of the file names, e.g. ${CLEANFILES}, because we don't
+# want make to replace any of the file names with the result of
+# searching .PATH.)
+#
+# If the list of file names is non-empty then use "rm -f" to
+# delete the files, and "ls -d" to check that the deletion was
+# successful. If the list of files is empty, then the commands
+# reduce to "true", with an "@" prefix to prevent echoing.
+#
+# If .OBJDIR is different from .SRCDIR then repeat all this for
+# both .OBJDIR and .SRCDIR.
+#
+__cleanuse: .USE
+ ${"${.ALLSRC:@v@${${v}}@}" == "":?@true:${_MKMSG} \
+ "clean" ${.ALLSRC} }
+.for _d in ${"${.OBJDIR}" == "${.CURDIR}" \
+ :? ${.OBJDIR} \
+ : ${.OBJDIR} ${.CURDIR} }
+ -${"${.ALLSRC:@v@${${v}}@}" == "":?@true: \
+ (cd ${_d} && rm -f ${.ALLSRC:@v@${${v}}@}) }
+ @${"${.ALLSRC:@v@${${v}}@}" == "":?true: \
+ bad="\$(cd ${_d} && ls -d ${.ALLSRC:@v@${${v}}@} 2>/dev/null)"; \
+ if test -n "\$bad"; then \
+ echo "Failed to remove files from ${_d}:" ; \
+ echo "\$bad" ; \
+ false ; \
+ fi }
+.endfor
+
+.endif # !defined(_BSD_CLEAN_MK)