From owner-freebsd-hackers@FreeBSD.ORG Thu Aug 12 01:12:21 2004 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C712B16A4CF for ; Thu, 12 Aug 2004 01:12:21 +0000 (GMT) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 793D443D4C for ; Thu, 12 Aug 2004 01:12:21 +0000 (GMT) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (localhost [127.0.0.1]) i7C1CKds058926; Wed, 11 Aug 2004 18:12:20 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.12.9p2/8.12.9/Submit) id i7C1CKkJ058925; Wed, 11 Aug 2004 18:12:20 -0700 (PDT) (envelope-from dillon) Date: Wed, 11 Aug 2004 18:12:20 -0700 (PDT) From: Matthew Dillon Message-Id: <200408120112.i7C1CKkJ058925@apollo.backplane.com> To: "M. Warner Losh" References: <20040810223606.GA75648@lori.mine.nu> <20040811160721.GA955@laserbeam.sv.org> <20040811.183349.65155382.imp@bsdimp.com> cc: hackers@freebsd.org Subject: Re: make "quickworld"? (like in DragonFly) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Aug 2004 01:12:21 -0000 :Well, quickworld seems easy to implement on FreeBSD (maybe I should :have more docs in Makefile.inc1). Sorting in TGTS could be better in :this patch too. Maybe quickworld target itself should go somewhere :else. realquickworld appears, from your description, to be :'everything' in the FreeBSD 5. : :Anyway, the following patch appears to work for me. : :Warner Looks pretty good. Our's also runs _obj (before _includes), because it is quite common for a developer to commit new code that requires a new object directory. My conclusion was that the saved time wasn't worth the possibility of a buildworld either failing due to the lack of an obj directory for a new module, or improperly creating the objects for the new code in the source tree because no obj directory exists (if the source tree is R+W). I think you will find it a very useful target. I use it all the time and just do a full buildworld on the occassion when quickworld fails. Our developers also know that if quickworld fails they should do a buildworld and we rarely get postings to bugs@ about it. :@@ -343,6 +343,7 @@ : .endif : WMAKE_TGTS+= _includes _libraries _depend everything : :+quickworld: _includes _libraries _depend everything : buildworld: ${WMAKE_TGTS} : .ORDER: ${WMAKE_TGTS} : In dfly it is: quickworld: _obj _includes _libraries _depend everything In dfly the realquickworld is as shown below. Not quite just 'everything'. _includes and _libraries are probably not necessary but I recommend that the _obj target always be run to avoid accidental /usr/src pollution. realquickworld: _obj _includes _libraries everything -Matt Matthew Dillon