From owner-freebsd-current Mon Nov 13 20: 3: 1 2000 Delivered-To: freebsd-current@freebsd.org Received: from palrel1.hp.com (palrel1.hp.com [156.153.255.242]) by hub.freebsd.org (Postfix) with ESMTP id 1E3B937B479 for ; Mon, 13 Nov 2000 20:02:50 -0800 (PST) Received: from adlmail.cup.hp.com (adlmail.cup.hp.com [15.0.100.30]) by palrel1.hp.com (Postfix) with ESMTP id 81FD1262; Mon, 13 Nov 2000 20:02:49 -0800 (PST) Received: from cup.hp.com (p1000180.nsr.hp.com [15.109.0.180]) by adlmail.cup.hp.com (8.9.3 (PHNE_18546)/8.9.3 SMKit7.02) with ESMTP id UAA15039; Mon, 13 Nov 2000 20:02:48 -0800 (PST) Message-ID: <3A10B967.C3301113@cup.hp.com> Date: Mon, 13 Nov 2000 20:02:47 -0800 From: Marcel Moolenaar Organization: Hewlett-Packard X-Mailer: Mozilla 4.73 [en] (X11; U; Linux 2.2.12 i386) X-Accept-Language: en MIME-Version: 1.0 To: Makoto MATSUSHITA Cc: current@FreeBSD.ORG Subject: RQ review: [was: Re: "make modules" kicks the first module directory twice] References: <20001113195111R.matusita@jp.FreeBSD.org> <20001113095855.C38404@dragon.nuxi.com> <3A103875.3555E3D4@cup.hp.com> <20001114095225T.matusita@jp.FreeBSD.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Makoto MATSUSHITA wrote: > > Ouch... give me one more chance to submit a patch. Here's summary: I see no reason to not commit Makoto-san's patches with the fix he sent me for the modules-depend target. The fix is (modulo indentation): > modules-depend: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} obj; \ > ! env ${MKMODULESENV} ${MAKE} depend It contains everything mentioned so far, which is: > * src/release/Makefile should use 'module-depend' while > checking dependancy of modules (not kernel-depend). > * For parallel build: "command && command" -> "command; command" > * For parallel build: "make obj depend" -> "make obj; make depend" > * Avoid to do run "obj" target again in "modules" target > (comes from an email of imp@village.org) Any objections? (patches follow for your convenience) > Index: Makefile > =================================================================== > RCS file: /lab/FreeBSD/FreeBSD.cvs/src/release/Makefile,v > retrieving revision 1.585 > diff -c -r1.585 Makefile > *** Makefile 2000/11/12 11:04:11 1.585 > --- Makefile 2000/11/13 05:37:12 > *************** > *** 831,837 **** > @rm -f ${RD}/kernels/*.ko > @cd ${.CURDIR}/../sys/${MACHINE}/conf && config ${KERNEL} > @cd ${.CURDIR}/../sys/compile/${KERNEL} && \ > ! make kernel-depend && \ > make ${KERNEL_FLAGS} modules && \ > make modules-reinstall DESTDIR=${RD}/kernels && \ > > --- 831,837 ---- > @rm -f ${RD}/kernels/*.ko > @cd ${.CURDIR}/../sys/${MACHINE}/conf && config ${KERNEL} > @cd ${.CURDIR}/../sys/compile/${KERNEL} && \ > ! make modules-depend && \ > make ${KERNEL_FLAGS} modules && \ > make modules-reinstall DESTDIR=${RD}/kernels && \ > > Index: Makefile.alpha > =================================================================== > RCS file: /lab/FreeBSD/FreeBSD.cvs/src/sys/conf/Makefile.alpha,v > retrieving revision 1.79 > diff -c -r1.79 Makefile.alpha > *** Makefile.alpha 2000/10/29 09:47:50 1.79 > --- Makefile.alpha 2000/11/14 00:42:39 > *************** > *** 252,258 **** > echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ > sort -u | comm -23 - dontlink | \ > sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks > ! sh makelinks && rm -f dontlink > > kernel-tags: > @[ -f .depend ] || { echo "you must make depend first"; exit 1; } > --- 252,258 ---- > echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ > sort -u | comm -23 - dontlink | \ > sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks > ! sh makelinks; rm -f dontlink > > kernel-tags: > @[ -f .depend ] || { echo "you must make depend first"; exit 1; } > *************** > *** 309,338 **** > MKMODULESENV= MAKEOBJDIRPREFIX=${.OBJDIR}/modules KMODDIR=${KODIR} > > modules: > ! @mkdir -p ${.OBJDIR}/modules > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} obj all > > modules-depend: > @mkdir -p ${.OBJDIR}/modules > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} obj depend > > modules-clean: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} clean > > modules-cleandepend: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} cleandepend > > modules-cleandir: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} cleandir > > modules-tags: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} tags > > modules-install modules-install.debug: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} install > > modules-reinstall modules-reinstall.debug: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} install > > config.o: > ${NORMAL_C} > --- 309,342 ---- > MKMODULESENV= MAKEOBJDIRPREFIX=${.OBJDIR}/modules KMODDIR=${KODIR} > > modules: > ! @if [ ! -d ${.OBJDIR}/modules ]; then \ > ! echo You must run make depend before building modules; \ > ! exit 1; \ > ! fi > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} all > > modules-depend: > @mkdir -p ${.OBJDIR}/modules > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} obj > ! env ${MKMODULESENV} ${MAKE} depend > > modules-clean: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} clean > > modules-cleandepend: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} cleandepend > > modules-cleandir: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} cleandir > > modules-tags: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} tags > > modules-install modules-install.debug: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} install > > modules-reinstall modules-reinstall.debug: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} install > > config.o: > ${NORMAL_C} > Index: Makefile.i386 > =================================================================== > RCS file: /lab/FreeBSD/FreeBSD.cvs/src/sys/conf/Makefile.i386,v > retrieving revision 1.212 > diff -c -r1.212 Makefile.i386 > *** Makefile.i386 2000/10/29 09:47:50 1.212 > --- Makefile.i386 2000/11/14 00:43:16 > *************** > *** 212,218 **** > echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ > sort -u | comm -23 - dontlink | \ > sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks > ! sh makelinks && rm -f dontlink > > kernel-tags: > @[ -f .depend ] || { echo "you must make depend first"; exit 1; } > --- 212,218 ---- > echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ > sort -u | comm -23 - dontlink | \ > sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks > ! sh makelinks; rm -f dontlink > > kernel-tags: > @[ -f .depend ] || { echo "you must make depend first"; exit 1; } > *************** > *** 270,299 **** > MKMODULESENV= MAKEOBJDIRPREFIX=${.OBJDIR}/modules KMODDIR=${KODIR} > > modules: > ! @mkdir -p ${.OBJDIR}/modules > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} obj all > > modules-depend: > @mkdir -p ${.OBJDIR}/modules > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} obj depend > > modules-clean: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} clean > > modules-cleandepend: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} cleandepend > > modules-cleandir: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} cleandir > > modules-tags: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} tags > > modules-install modules-install.debug: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} install > > modules-reinstall modules-reinstall.debug: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} install > > config.o: > ${NORMAL_C} > --- 270,303 ---- > MKMODULESENV= MAKEOBJDIRPREFIX=${.OBJDIR}/modules KMODDIR=${KODIR} > > modules: > ! @if [ ! -d ${.OBJDIR}/modules ]; then \ > ! echo You must run make depend before building modules; \ > ! exit 1; \ > ! fi > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} all > > modules-depend: > @mkdir -p ${.OBJDIR}/modules > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} obj > ! env ${MKMODULESENV} ${MAKE} depend > > modules-clean: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} clean > > modules-cleandepend: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} cleandepend > > modules-cleandir: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} cleandir > > modules-tags: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} tags > > modules-install modules-install.debug: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} install > > modules-reinstall modules-reinstall.debug: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} install > > config.o: > ${NORMAL_C} > Index: Makefile.ia64 > =================================================================== > RCS file: /lab/FreeBSD/FreeBSD.cvs/src/sys/conf/Makefile.ia64,v > retrieving revision 1.4 > diff -c -r1.4 Makefile.ia64 > *** Makefile.ia64 2000/10/29 09:47:50 1.4 > --- Makefile.ia64 2000/11/14 00:45:08 > *************** > *** 217,223 **** > echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ > sort -u | comm -23 - dontlink | \ > sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks > ! sh makelinks && rm -f dontlink > > kernel-tags: > @[ -f .depend ] || { echo "you must make depend first"; exit 1; } > --- 217,223 ---- > echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ > sort -u | comm -23 - dontlink | \ > sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks > ! sh makelinks; rm -f dontlink > > kernel-tags: > @[ -f .depend ] || { echo "you must make depend first"; exit 1; } > *************** > *** 274,303 **** > MKMODULESENV= MAKEOBJDIRPREFIX=${.OBJDIR}/modules KMODDIR=${KODIR} > > modules: > ! @mkdir -p ${.OBJDIR}/modules > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} obj all > > modules-depend: > @mkdir -p ${.OBJDIR}/modules > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} obj depend > > modules-clean: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} clean > > modules-cleandepend: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} cleandepend > > modules-cleandir: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} cleandir > > modules-tags: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} tags > > modules-install modules-install.debug: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} install > > modules-reinstall modules-reinstall.debug: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} install > > config.o: > ${NORMAL_C} > --- 274,307 ---- > MKMODULESENV= MAKEOBJDIRPREFIX=${.OBJDIR}/modules KMODDIR=${KODIR} > > modules: > ! @if [ ! -d ${.OBJDIR}/modules ]; then \ > ! echo You must run make depend before building modules; \ > ! exit 1; \ > ! fi > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} all > > modules-depend: > @mkdir -p ${.OBJDIR}/modules > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} obj > ! env ${MKMODULESENV} ${MAKE} depend > > modules-clean: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} clean > > modules-cleandepend: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} cleandepend > > modules-cleandir: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} cleandir > > modules-tags: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} tags > > modules-install modules-install.debug: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} install > > modules-reinstall modules-reinstall.debug: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} install > > config.o: > ${NORMAL_C} > Index: Makefile.pc98 > =================================================================== > RCS file: /lab/FreeBSD/FreeBSD.cvs/src/sys/conf/Makefile.pc98,v > retrieving revision 1.110 > diff -c -r1.110 Makefile.pc98 > *** Makefile.pc98 2000/11/05 14:31:17 1.110 > --- Makefile.pc98 2000/11/14 00:45:55 > *************** > *** 215,221 **** > echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ > sort -u | comm -23 - dontlink | \ > sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks > ! sh makelinks && rm -f dontlink > > kernel-tags: > @[ -f .depend ] || { echo "you must make depend first"; exit 1; } > --- 215,221 ---- > echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ > sort -u | comm -23 - dontlink | \ > sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks > ! sh makelinks; rm -f dontlink > > kernel-tags: > @[ -f .depend ] || { echo "you must make depend first"; exit 1; } > *************** > *** 273,302 **** > MKMODULESENV= MAKEOBJDIRPREFIX=${.OBJDIR}/modules KMODDIR=${KODIR} > > modules: > ! @mkdir -p ${.OBJDIR}/modules > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} obj all > > modules-depend: > @mkdir -p ${.OBJDIR}/modules > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} obj depend > > modules-clean: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} clean > > modules-cleandepend: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} cleandepend > > modules-cleandir: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} cleandir > > modules-tags: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} tags > > modules-install modules-install.debug: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} install > > modules-reinstall modules-reinstall.debug: > ! cd $S/modules && env ${MKMODULESENV} ${MAKE} install > > config.o: > ${NORMAL_C} > --- 273,306 ---- > MKMODULESENV= MAKEOBJDIRPREFIX=${.OBJDIR}/modules KMODDIR=${KODIR} > > modules: > ! @if [ ! -d ${.OBJDIR}/modules ]; then \ > ! echo You must run make depend before building modules; \ > ! exit 1; \ > ! fi > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} all > > modules-depend: > @mkdir -p ${.OBJDIR}/modules > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} obj > ! env ${MKMODULESENV} ${MAKE} depend > > modules-clean: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} clean > > modules-cleandepend: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} cleandepend > > modules-cleandir: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} cleandir > > modules-tags: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} tags > > modules-install modules-install.debug: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} install > > modules-reinstall modules-reinstall.debug: > ! cd $S/modules; env ${MKMODULESENV} ${MAKE} install > > config.o: > ${NORMAL_C} -- Marcel Moolenaar mail: marcel@cup.hp.com / marcel@FreeBSD.org tel: (408) 447-4222 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message