From owner-freebsd-current Wed Dec 27 22:47:24 1995 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id WAA18081 for current-outgoing; Wed, 27 Dec 1995 22:47:24 -0800 (PST) Received: from else (root@else.net [204.92.4.245]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id WAA18075 for ; Wed, 27 Dec 1995 22:47:14 -0800 (PST) Received: by else (Smail3.1.29.1 #3) id m0tVC8B-000MHGC; Thu, 28 Dec 95 01:48 EST Date: Thu, 28 Dec 1995 01:47:59 -0500 (EST) From: James FitzGibbon To: current@freebsd.org Subject: make -DCLOBBER clobbers too much... Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-current@freebsd.org Precedence: bulk When doing a 'make world -DCLOBBER', crt0.o is nuked. It's needed to make gnu/lib/limgmp (and libmp), but lib/csu/i386/ (where crt0.o is built) is not targeted until later on in the 'libraries' target. So, lib/csu/i386/ needs to be moved from below secure/ to just below lib/termcap/. Additionally, if this fails, you end up with a bunch of libraries missing that are needed in target 'lib-tools' (because the -DCLOBBER nuked them). These include crt0.o, scrt0.o, libgcc.a, libc, and libmalloc. One is left to dig and manually re-make these libraries, or complete the rest of the build manually (since doing a make world again will fail time and again). This may be taking the idea of pre-targets a little far, but what about a target that builds these critical libraries only if they are missing? When they are built, the $CLEANDIR variable could be left off of the line so that when they are rebuilt during target 'libraries', the object aren't trashed. j.