Date: Wed, 01 Jan 1997 17:26:31 +0800 From: Peter Wemm <peter@spinner.DIALix.COM> To: Bruce Evans <bde@freefall.freebsd.org> Cc: CVS-committers@freefall.freebsd.org, cvs-all@freefall.freebsd.org, cvs-lib@freefall.freebsd.org, cvs-gnu@freefall.freebsd.org Subject: Re: cvs commit: src/gnu/usr.bin/genclass Makefile src/lib/csu/i386 Makefile Message-ID: <199701010926.RAA02608@spinner.DIALix.COM> In-Reply-To: Your message of "Tue, 31 Dec 1996 20:52:56 PST." <199701010452.UAA13241@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans wrote: > bde 96/12/31 20:52:56 > > Modified: gnu/usr.bin/genclass Makefile > lib/csu/i386 Makefile > Log: > Use ${COPY} instead of -C for installing non-source files. crt*.o > should be installed using the same flag as libraries, but ${COPY} > is currently used for libraries. Ahh, now I remember why the crt stuff is installed with -C.. It's because c++rt.o is linked into dynamic and static libs, so doing a 'make install' in csu/i386 used to cause a large scale relink next time around. Or something like that.. I remember it was originally changed from "install -c" to "cmp -s || install -c" specifically to stop this problem. Changing it back to ${COPY} causes the problem to come back I think. If you really want to preserve ${COPY} semantics, perhaps something remotely like this: .if ${COPY} != -c ${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 444 $i \ ${DESTDIR}/usr/lib .else ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 $i \ ${DESTDIR}/usr/lib .endif Hmm.. in bsd.prog.mk, sometime ${PROG} is dependent on ${LIBCRT0}, sometimes not. It looks like this is incomplete, it should be dependent on the static crt0 when linking static, and should still be dependent on the crt0 object for all the other cases too, otherwise a 'make' would miss an update to crt0.o. Cheers, -Peter
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199701010926.RAA02608>