From owner-freebsd-current Fri Oct 16 20:07:26 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id UAA18909 for freebsd-current-outgoing; Fri, 16 Oct 1998 20:07:26 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from shrimp.dataplex.net (shrimp.dataplex.net [208.2.87.3]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id UAA18899; Fri, 16 Oct 1998 20:07:20 -0700 (PDT) (envelope-from rkw@Dataplex.NET) Received: from [208.2.87.5] (user5.dataplex.net [208.2.87.5]) by shrimp.dataplex.net (8.9.1/8.9.1) with ESMTP id AAA25773; Sat, 17 Oct 1998 00:46:04 -0500 (CDT) (envelope-from rkw@dataplex.net) X-Sender: rkw@mail.dataplex.net Message-Id: In-Reply-To: <98Oct16.221719edt.37814-16861@qew.cs.toronto.edu> References: from "Richard Wackerbarth" at Oct 12, 98 07:49:26 am Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Fri, 16 Oct 1998 22:06:46 -0500 To: David Holland From: Richard Wackerbarth Subject: Re: Never ending 'make clean' in kde port? Cc: asami@FreeBSD.ORG, kpielorz@tdx.co.uk, eivind@yes.no, current@FreeBSD.ORG Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG At 9:17 PM -0500 10/16/98, David Holland wrote: > > This is a clear case of the evils of "recursive make". > > http://www.canb.auug.org.au/~millerp/rmch/recu-make-cons-harm.html > >While this guy has some points, his assertion that it's always faster >to have one makefile is completely false - I broke netbsd's libc into >recursive makes at one point and it got a lot faster. > >Why? Probably because some of the operations on the dependency graph >are slower than O(n). I think that his comparison was based, in part, on the idea that you have to do many things repeatedly simply because you do not have the proper dependencies available. The cleaning operation which started this discussion is a prime example. OTOH, IF (and that is a big if) the author knows (and maintains) isolated subgraphs, it can be advantageous to perform the make in those subgraphs as a separate ie., recursive, make. However, at the macro level, the intermodule dependancy relations are properly handled by avoiding the recursion. Richard Wackerbarth To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message