Date: Mon, 16 Jan 2006 09:26:10 -0700 (MST) From: "M. Warner Losh" <imp@bsdimp.com> To: ru@FreeBSD.ORG Cc: scottl@samsco.org, src-committers@FreeBSD.ORG, flz@FreeBSD.ORG, cvs-src@FreeBSD.ORG, obrien@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/usr.sbin/config main.c Message-ID: <20060116.092610.122288991.imp@bsdimp.com> In-Reply-To: <20060116083922.GD81316@ip.net.ua> References: <20060115.231029.62233420.imp@bsdimp.com> <43CB42A9.8090601@samsco.org> <20060116083922.GD81316@ip.net.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20060116083922.GD81316@ip.net.ua> Ruslan Ermilov <ru@FreeBSD.org> writes: : On Sun, Jan 15, 2006 at 11:52:25PM -0700, Scott Long wrote: : > M. Warner Losh wrote: : > : > >In message: <20060116041146.GA23438@dragon.NUXI.org> : > > "David O'Brien" <obrien@FreeBSD.org> writes: : > >: On Sat, Jan 14, 2006 at 08:12:25AM +0000, Florent Thoumie wrote: : > >: > Modified files: : > >: > usr.sbin/config main.c : > >: > Log: : > >: > - Change the exit message from "make cleandepend; make depend" to : > >: > "make cleandepend && make depend". : > >: : > >: I still think we should go back to the traditional: : > >: "Don't forget to do ``make depend''\n" : > >: : > >: The 'make cleandepend' step was to work around brokeness in 'make : > >depend'. : > >: If 'make depend' is still so broken that one must do 'make cleandepend' : > >: first, then 'make depend' should just blow away all the .depend files : > >: first. : > > : > >Sadly, that won't work. : > > : > >Warner : > : > Not that I don't believe you, but can you explain why it won't work? : > What happened that caused 10+ years of 'working' to turn to 'not working'? : > : Several reasons: : : - Before we were always regenerating the kernel .depend file, even if : nothing has changed. This was contrary to other .depend files that : are only regenerated if some of the sources or their known dependencies : have changed. The config/main.c commit log said this on the subject: : : Ask that "make cleandepend" be run before "make depend", now that : : we don't do this automatically. : : - "make cleandepend" wasn't to work around brokenness in "make depend". : Instead, it's to make things work when make(1) cannot figure out by : itself that it should regenerate .depend, e.g. when supporting .mk : files change (kern.{pre,post}.mk, Makefile.<arch>, Makefile built by : config(8), etc.). : : In short, not runnign "make cleandepend" is equivalent to building world : with -DNO_CLEAN, which is often possible but not guaranteed to work, and : for the same set of reasons. The problem with removing .depend in the depend target happens too late. Before we get to the meat of the depend target, the error happens. The error happens, btw, when a .h file is deleted, which the .depend file depends on... There might be other clever ways around this. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060116.092610.122288991.imp>