Date: Mon, 13 Nov 2000 20:02:47 -0800 From: Marcel Moolenaar <marcel@cup.hp.com> To: Makoto MATSUSHITA <matusita@jp.FreeBSD.org> Cc: current@FreeBSD.ORG Subject: RQ review: [was: Re: "make modules" kicks the first module directory twice] Message-ID: <3A10B967.C3301113@cup.hp.com> References: <20001113195111R.matusita@jp.FreeBSD.org> <20001113095855.C38404@dragon.nuxi.com> <3A103875.3555E3D4@cup.hp.com> <20001114095225T.matusita@jp.FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A10B967.C3301113>
