From owner-freebsd-current Tue Nov 14 13: 4:28 2000 Delivered-To: freebsd-current@freebsd.org Received: from rover.village.org (rover.village.org [204.144.255.66]) by hub.freebsd.org (Postfix) with ESMTP id 955C137B479 for ; Tue, 14 Nov 2000 13:04:20 -0800 (PST) Received: from harmony.village.org (harmony.village.org [10.0.0.6]) by rover.village.org (8.11.0/8.11.0) with ESMTP id eAEL4IR13427 for ; Tue, 14 Nov 2000 14:04:19 -0700 (MST) (envelope-from imp@harmony.village.org) Received: from harmony.village.org (localhost.village.org [127.0.0.1]) by harmony.village.org (8.9.3/8.8.3) with ESMTP id OAA50097 for ; Tue, 14 Nov 2000 14:04:18 -0700 (MST) Message-Id: <200011142104.OAA50097@harmony.village.org> To: current@FreeBSD.ORG Subject: Re: "make modules" kicks the first module directory twice In-reply-to: Your message of "Tue, 14 Nov 2000 12:47:04 PST." <20001114124704.A79356@dragon.nuxi.com> References: <20001114124704.A79356@dragon.nuxi.com> <20001114121237.A78808@dragon.nuxi.com> <3A10896D.E782256@cup.hp.com> <3A1030BA.D6CB42D0@cup.hp.com> <20001113144152.A39590@dragon.nuxi.com> <3A10896D.E782256@cup.hp.com> <200011140417.VAA37024@harmony.village.org> <20001114121237.A78808@dragon.nuxi.com> <200011142027.NAA49799@harmony.village.org> Date: Tue, 14 Nov 2000 14:04:18 -0700 From: Warner Losh Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG In message <20001114124704.A79356@dragon.nuxi.com> "David O'Brien" writes: : [stable dropped, this should have only been in a single list to start with!!] Agreed. My summary: o We disagree about the support impact o Peter's stuff may OBE this whole thread o My change shouldn't be committed until we know it will have no support impact, or it can be fixed to be more robust. : On Tue, Nov 14, 2000 at 01:27:32PM -0700, Warner Losh wrote: : > : I'd rather take a major compile time hit and be deterministic than not. : > : > I'd rather not. We don't do an implicit make obj in the rest of the : > tree. : : It is in `make world' if /usr/obj exists. Otherwise how does all the : .o's get in /usr/obj/ ? I should have stated this more clearly. We don't have an implicit make obj anywhere else in the tree for the default "all" target. We do have it for other, special targets. : > If I go build the world, and then someone adds a new program to : > the tree, you are in the same boat. : : Nope, `make world' will DTRT. No. Not if you compile that one file. Also, make all won't do the right thing. That's my point. We have extra special targets that are all singing all dancing that do the right thing, but the plain vanilla ones act in a plain vanilla way. Again, make world isn't the default target. It is an extra special target that does special things. I've been burned by the example that I sighted. : > If you cd to that program and type make it will wind up in . rather : > than /usr/obj. : : Yes, and how many times do we have to tell people to run : ``make cleandir && make cleandir'' or : ``rm -rf /usr/obj/* ; cd /usr/src ; make cleandir '' A few, but a lot less than I'd expect :-). : > Completely deterministic, the same thing will happen every time you do : > the scenario. : : Ok, completely deterministic given enough detail -- detail which 99% of : the time will not be provided in email to the lists saying this and that : is broken. True. But it would be rare enough that people would have two different kernels, with different revs of the sources in the same source tree and that those differences would cause problems. It would sure be hard to find it, I'll grant that. I think it would be rare enough that we won't get mail on it, but I could be wrong about that. : > But before making major changes to this, let's see Peter Wemm's new : > all singing all dancing config work does for us. I'd rather see what : > he's come up with than argue further on this. : : Earlier today, I too I was wondering if his plan makes all this OBE. He sure has been silent on all of this. :-) I do think that we're all in agreement that make obj all should be changed to make obj\n make all to make the parallel case work. The rest shouldn't be committed until we have it more robust. I'll take alook to see if there's a robust way to know if we need to run make obj or not. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message