cvs commit: src/usr.sbin/config main.c
Warner Losh
imp at bsdimp.com
Fri Apr 22 14:16:30 PDT 2005
From: Ruslan Ermilov <ru at freebsd.org>
Subject: Re: cvs commit: src/usr.sbin/config main.c
Date: Fri, 22 Apr 2005 23:16:15 +0300
> On Fri, Apr 22, 2005 at 01:08:14PM -0700, Marcel Moolenaar wrote:
> > On Apr 22, 2005, at 1:03 PM, Ruslan Ermilov wrote:
> >
> > >>>What exactly is broken? I don't see a breakage, even when source
> > >>>files disappeared. I assume I must be forgetting something or not
> > >>>doing everything right.
> > >>
> > >>when an include file is removed, make depend can fail to recreate
> > >>.depend in the modules.
> > >>
> > >This is only a problem with NO_CLEAN builds, and it's not limited
> > >to just modules -- I often saw this problem with the world builds.
> >
> > Ok. Does it help if there's an option to make that supresses the
> > automatic loading on .depend or more generically, allows one to
> > name the depend file and it merely defaults to .depend (suppression
> > is then accomplished by specifying /dev/null as the depend file)?
> > If such option would be used for "make depend", would that resolve
> > the problems in a generic way?
> >
> Nope. We only regenerate .depend when its dependencies are
> changed. For bsd.prog.mk, this means that .depend is only
> regenerated when some of ${SRCS} are changed (but this does
> NOT cover headers these ${SRCS} include, and some of these
> headers may disappear).
>
> To put it differently: when a header disappears, the breakage
> is not at the "make depend" stage (which doesn't do anything),
> but at a later "make all" stage.
>
> I personally fail to see how this can be solved... :-(
If make depend rebuilds the .depend file, then make depend && make
will work.
Warner
More information about the cvs-src
mailing list