cvs commit: src/sys/conf kmod.mk

David O'Brien obrien at freebsd.org
Tue Apr 19 11:29:52 PDT 2005


On Mon, Apr 18, 2005 at 03:20:11PM -0600, Warner Losh wrote:
> From: "David E. O'Brien" <obrien at freebsd.org>
> Subject: cvs commit: src/sys/conf kmod.mk
> Date: Mon, 18 Apr 2005 21:10:38 +0000 (UTC)
> 
> > obrien      2005-04-18 21:10:38 UTC
> > 
> >   FreeBSD src repository
> > 
> >   Modified files:
> >     sys/conf             kmod.mk 
> >   Log:
> >   As with kernel-depend, rm the DEPENDFILE before modules-depend.
> 
> Why not cleandepend?

    +# $FreeBSD: src/sys/conf/kmod.mk,v 1.189 2005/04/18 21:10:38 obrien Exp
    +beforedepend: cleandepend

:-)

On Tue, Apr 19, 2005 at 04:38:56PM +0300, Ruslan Ermilov wrote:
> On Mon, Apr 18, 2005 at 09:10:38PM +0000, David E. O'Brien wrote:
> > obrien      2005-04-18 21:10:38 UTC
> >   Modified files:
> >     sys/conf             kmod.mk 
> >   Log:
> >   As with kernel-depend, rm the DEPENDFILE before modules-depend.
> >   Revision  Changes    Path
> >   1.189     +2 -1      src/sys/conf/kmod.mk
> Is this supposed to fix a failure of a NO_CLEAN buildkernel and seeing
> it breaks due to a stale header recorded into .depend?
> I don't like this change, as it causes two consequent make's to
> redundantly rebuild .depend files (a lot of, now), as with a kernel
> object build.  Instead, one should NOT rely on using NO_CLEAN when
> updating sources -- we never guaranteed it should always work.

Almost, but not quite.  I wasn't using 'NO_CLEAN'.

> Something more clever is needed.  How about preserving what you did,
> but also adding NO_CLEANDEPEND so that .depend files are not removed
> when this option is present (useful when you do incremental builds
> without source updates).

You can totally back out my commit, if you can fix the situation I've run
into several times after the bus_<arch>.h change.   I know what the basic
issue is, but I thought dealing with it a better way would take
considerable work.

The problem to fix is: cd into the kernel build directory, issue 'make
depend && make' and then get a build failure that make doesn't know how
to build bus_amd64.h.

I don't think having to add 'find . .depend -delete' or 'rm -rf modules'
before the 'make depend' is OK. :-)

-- 
-- David  (obrien at FreeBSD.org)


More information about the cvs-all mailing list