From owner-cvs-src@FreeBSD.ORG Fri Apr 22 20:24:55 2005 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 804E516A4CE; Fri, 22 Apr 2005 20:24:55 +0000 (GMT) Received: from ns1.xcllnt.net (209-128-86-226.BAYAREA.NET [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2456E43D1D; Fri, 22 Apr 2005 20:24:55 +0000 (GMT) (envelope-from marcel@xcllnt.net) Received: from [192.168.4.250] (dhcp50.pn.xcllnt.net [192.168.4.250]) by ns1.xcllnt.net (8.13.3/8.13.3) with ESMTP id j3MKOmDC042184; Fri, 22 Apr 2005 13:24:49 -0700 (PDT) (envelope-from marcel@xcllnt.net) In-Reply-To: <20050422201615.GD23926@ip.net.ua> References: <20050422.114615.71130404.imp@bsdimp.com> <20050422175324.GA32739@ip.net.ua> <20050422184922.GA41457@ns1.xcllnt.net> <20050422.125712.78748765.imp@bsdimp.com> <20050422200341.GA23926@ip.net.ua> <1b042838f6396ae9665fcb2f41f1c9a7@xcllnt.net> <20050422201615.GD23926@ip.net.ua> Mime-Version: 1.0 (Apple Message framework v622) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: Marcel Moolenaar Date: Fri, 22 Apr 2005 13:24:47 -0700 To: Ruslan Ermilov X-Mailer: Apple Mail (2.622) cc: cvs-src@freebsd.org cc: src-committers@freebsd.org cc: Warner Losh cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/usr.sbin/config main.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Apr 2005 20:24:55 -0000 On Apr 22, 2005, at 1:16 PM, Ruslan Ermilov wrote: > 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 see. I'm probably not understanding the problem completely, but this definitely gets me in the right state of mind. > I personally fail to see how this can be solved... :-( Ok, what about this: mkdep(1) creates lines of the form foo.o: foo.c inc1.h inc2.h Would this problem be solved if mkdep(1) created lines like: foo.o .depend: foo.c inc1.h inc2.h or equivalent? Would something else break if we do that? -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net