diff options
author | des <des@FreeBSD.org> | 2008-02-03 11:34:56 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2008-02-03 11:34:56 +0000 |
commit | 0e657b23ab26ffd1c8ec08fa31672c4397437a0b (patch) | |
tree | fa8aef73c99b19c411159141728dce4ce01999bc | |
parent | b198f5f802788a72ebf2a1d063223debac1747e7 (diff) | |
download | FreeBSD-src-0e657b23ab26ffd1c8ec08fa31672c4397437a0b.zip FreeBSD-src-0e657b23ab26ffd1c8ec08fa31672c4397437a0b.tar.gz |
Normally, when a header file is removed from the build (as i4b headers
were recently), a simple 'make cleandepend; make depend' is sufficient
to keep the tree buildable after a cvs update when doing incremental
builds.
However, kdump and truss use a script which searches for header files
that define ioctls, and generates C code that includes them. This
script will usually not need updating when a header file is removed,
so the normal dependency mechanism will not realize that it needs to
be re-run. One is therefore left with code that references dead files
but will only be removed by a full 'make clean', which defeats the
purpose of incremental builds.
To work around this, modify the cleandepend target in bsd.dep.mk to
also remove any files listed in a new variable named CLEANDEPFILES,
and modify kdump's and truss's Makefiles accordingly.
MFC after: 2 weeks
-rw-r--r-- | share/mk/bsd.dep.mk | 5 | ||||
-rw-r--r-- | usr.bin/kdump/Makefile | 3 | ||||
-rw-r--r-- | usr.bin/truss/Makefile | 5 |
3 files changed, 10 insertions, 3 deletions
diff --git a/share/mk/bsd.dep.mk b/share/mk/bsd.dep.mk index cdcadb0..ff954ec 100644 --- a/share/mk/bsd.dep.mk +++ b/share/mk/bsd.dep.mk @@ -5,6 +5,8 @@ # # +++ variables +++ # +# CLEANDEPFILES Additional files to clean when doing cleandepend +# # CTAGS A tags file generation program [gtags] # # CTAGSFLAGS Options for ctags(1) [not set] @@ -182,6 +184,9 @@ cleandepend: .if defined(HTML) rm -rf HTML .endif +.if defined(CLEANDEPFILES) + rm -f ${CLEANDEPFILES} +.endif .endif .endif .endif diff --git a/usr.bin/kdump/Makefile b/usr.bin/kdump/Makefile index 2ca8561..c0c74e3 100644 --- a/usr.bin/kdump/Makefile +++ b/usr.bin/kdump/Makefile @@ -7,7 +7,8 @@ PROG= kdump SRCS= kdump.c ioctl.c kdump_subr.c subr.c CFLAGS+= -I${.CURDIR}/../ktrace -I${.CURDIR} -I${.CURDIR}/../.. -CLEANFILES= ioctl.c kdump_subr.c +CLEANDEPFILES= ioctl.c kdump_subr.c +CLEANFILES= ${CLEANDEPFILES} ioctl.c: mkioctls sh ${.CURDIR}/mkioctls ${DESTDIR}/usr/include > ${.TARGET} diff --git a/usr.bin/truss/Makefile b/usr.bin/truss/Makefile index 18c2b93..35ec969 100644 --- a/usr.bin/truss/Makefile +++ b/usr.bin/truss/Makefile @@ -1,6 +1,6 @@ # $FreeBSD$ -WARNS?= 6 +WARNS?= 6 NO_WERROR= PROG= truss SRCS= main.c setup.c syscalls.c syscalls.h ioctl.c ${MACHINE_ARCH}-fbsd.c @@ -9,8 +9,9 @@ SRCS+= i386-linux.c linux_syscalls.h .endif CFLAGS+= -I${.CURDIR} -I. -CLEANFILES+=i386l-syscalls.master syscalls.master linux_syscalls.h \ +CLEANDEPFILES=i386l-syscalls.master syscalls.master linux_syscalls.h \ syscalls.h ioctl.c +CLEANFILES+=${CLEANDEPFILES} .SUFFIXES: .master |