Date: Fri, 22 Apr 2005 15:13:34 -0600 (MDT) From: Warner Losh <imp@bsdimp.com> To: ru@FreeBSD.org Cc: marcel@xcllnt.net Subject: Re: cvs commit: src/usr.sbin/config main.c Message-ID: <20050422.151334.08362499.imp@bsdimp.com> In-Reply-To: <20050422201615.GD23926@ip.net.ua> References: <20050422200341.GA23926@ip.net.ua> <1b042838f6396ae9665fcb2f41f1c9a7@xcllnt.net> <20050422201615.GD23926@ip.net.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
From: Ruslan Ermilov <ru@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050422.151334.08362499.imp>
