From owner-cvs-lib Thu Feb 1 15:16:30 1996 Return-Path: owner-cvs-lib Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id PAA09613 for cvs-lib-outgoing; Thu, 1 Feb 1996 15:16:30 -0800 (PST) Received: from austin.polstra.com (austin.polstra.com [206.213.73.10]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id PAA09594 Thu, 1 Feb 1996 15:16:18 -0800 (PST) Received: from austin.polstra.com (jdp@localhost) by austin.polstra.com (8.6.12/8.6.12) with ESMTP id PAA29370; Thu, 1 Feb 1996 15:15:50 -0800 Message-Id: <199602012315.PAA29370@austin.polstra.com> To: Peter Wemm cc: nate@sri.MT.net, CVS-committers@freebsd.org, cvs-lib@freebsd.org Subject: Re: cvs commit: src/lib/csu/i386 crt0.c In-reply-to: Your message of "Thu, 01 Feb 1996 17:30:23 +0800." <199602010930.RAA13154@jhome.DIALix.COM> Date: Thu, 01 Feb 1996 15:15:50 -0800 From: John Polstra Sender: owner-cvs-lib@freebsd.org Precedence: bulk Peter wrote: > >The problem is in this section of code under the "libraries:" target > >(note: crt0 is in lib/csu/i386): > > > > .if exists(lib) > > cd ${.CURDIR}/lib/csu/i386 && \ > > ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} > > cd ${.CURDIR}/lib && \ > > ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} > > .endif > > ... > >I think this particular problem could be solved quite simply, by just > >deleting the first command from the top-level Makefile: > > > > cd ${.CURDIR}/lib/csu/i386 && \ > > ${MAKE} depend all install ${CLEANDIR} ${OBJDIR} > > > >That would defer the installation of crt0.o until immediately before the > >installation of libc. > > I think we can fix this problem by doing a 'make depend' pass over the entire > lib source BEFORE installing anything. Er, my solution does that, too. > Doing a 'make depend' causes all > the compile programs to be generated before we mess with anything. > > ie: > cd ${.CURDIR}/lib/csu/i386 && \ > ${MAKE} depend > cd ${.CURDIR}/lib && \ > ${MAKE} depend > cd ${.CURDIR}/lib/csu/i386 && \ > ${MAKE} all install ${CLEANDIR} ${OBJDIR} > cd ${.CURDIR}/lib && \ > ${MAKE} all install ${CLEANDIR} ${OBJDIR} > > The "cd lib ; make depend" stage will cause the libmytinfo compilation > tools: caplist, caporder, mkbinorder and mkversion to be compiled and > linked BEFORE crt0.o is installed. Yes, but so will the simpler solution that I proposed, above. > > I think this will solve the problem... I think it will, too. But, why do you want to solve the problem by adding 4 lines to the Makefile, when you could solve it instead by removing 2 lines?? -- John