From owner-freebsd-current Wed Sep 11 05:12:59 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id FAA28732 for current-outgoing; Wed, 11 Sep 1996 05:12:59 -0700 (PDT) Received: from eel.dataplex.net (eel.dataplex.net [208.2.87.2]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id FAA28726 for ; Wed, 11 Sep 1996 05:12:56 -0700 (PDT) Received: from [208.2.87.4] (cod [208.2.87.4]) by eel.dataplex.net (8.6.11/8.6.9) with SMTP id HAA26138; Wed, 11 Sep 1996 07:12:48 -0500 X-Sender: rkw@shark.dataplex.net Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Wed, 11 Sep 1996 07:12:50 -0500 To: "Rodney W. Grimes" From: rkw@dataplex.net (Richard Wackerbarth) Subject: Re: Independent Test Results - UNBUILDABLE Cc: current@freebsd.org Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk "Rodney W. Grimes" writes: >make bootstrap && make world >should fix this one.... you can't expect make world for 2.2-current to >run on 2.1.5 without first running the bootstrap target. You'll also >blow up some time way later, the fix for that is left as an excercise >for the reader... I can EXPECT it. Particularly when "world" starts out like this.... And I cannot "make bootstrap" without first "make mk" It certainly looks as if the intention were "to run straight out of the box". The problem is that in bootstrapping, you traditionally use only the most primitive tools to get started. As an example "cp" is used for ${INSTALL}. You also want the bootstrap makefiles to avoid any "fancy" features that are not common in all versions of make. Once you get past the bootstrap phase, you can then use those features all you wish. It seems that the present design has forgotten those design concepts. world: .if target(pre-world) @echo "--------------------------------------------------------------" @echo " Making 'pre-world' target" @echo "--------------------------------------------------------------" cd ${.CURDIR} && ${MAKE} pre-world @echo .endif @echo "--------------------------------------------------------------" @echo " Making hierarchy" @echo "--------------------------------------------------------------" cd ${.CURDIR} && ${MAKE} hierarchy @echo @echo "--------------------------------------------------------------" @echo " Rebuilding /usr/share/mk" @echo "--------------------------------------------------------------" cd ${.CURDIR} && ${MAKE} mk @echo @echo "--------------------------------------------------------------" @echo " Cleaning up the source tree" @echo "--------------------------------------------------------------" .if defined(NOCLEAN) @echo "Not cleaning anything! I sure hope you know what you are doing!" .else cd ${.CURDIR} && ${MAKE} ${CLEANDIR} .endif @echo .if !defined(NOOBJDIR) @echo "--------------------------------------------------------------" @echo " Rebuilding the obj tree" @echo "--------------------------------------------------------------" cd ${.CURDIR} && ${MAKE} obj @echo .endif @echo "--------------------------------------------------------------" @echo " Rebuilding bootstrap tools" @echo "--------------------------------------------------------------" cd ${.CURDIR} && ${MAKE} bootstrap @echo @echo "--------------------------------------------------------------" @echo " Rebuilding tools necessary to build the include files" @echo "--------------------------------------------------------------"