Date: Fri, 15 Feb 2008 09:52:38 -0500 From: John Baldwin <jhb@freebsd.org> To: Kris Kennaway <kris@freebsd.org> Cc: Perforce Change Reviews <perforce@freebsd.org>, ru@freebsd.org, Kip Macy <kmacy@freebsd.org> Subject: Re: PERFORCE change 135010 for review Message-ID: <200802150952.39027.jhb@freebsd.org> In-Reply-To: <47B4E0F1.6060006@FreeBSD.org> References: <200802080420.m184Kvmf077416@repoman.freebsd.org> <200802141032.33861.jhb@freebsd.org> <47B4E0F1.6060006@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 14 February 2008 07:46:41 pm Kris Kennaway wrote: > John Baldwin wrote: > > On Thursday 07 February 2008 11:20:57 pm Kip Macy wrote: > >> http://perforce.freebsd.org/chv.cgi?CH=135010 > >> > >> Change 135010 by kmacy@kmacy:storage:toehead on 2008/02/08 04:20:17 > >> > >> add opt_global.h to dependencies > >> > >> Affected files ... > >> > >> .. //depot/projects/toehead/sys/modules/cxgb/tom/Makefile#3 edit > >> > >> Differences ... > >> > >> ==== //depot/projects/toehead/sys/modules/cxgb/tom/Makefile#3 (text+ko) ==== > >> > >> @@ -5,7 +5,8 @@ > >> KMOD= tom > >> SRCS= cxgb_tom.c cxgb_cpl_io.c cxgb_listen.c cxgb_tom_sysctl.c cxgb_cpl_socket.c > >> SRCS+= cxgb_ddp.c cxgb_vm.c > >> -SRCS+= opt_compat.h opt_inet.h opt_inet6.h opt_ipsec.h opt_mac.h opt_tcpdebug.h opt_ddb.h > >> +SRCS+= opt_compat.h opt_inet.h opt_inet6.h opt_ipsec.h opt_mac.h > >> +SRCS+= opt_tcpdebug.h opt_ddb.h opt_global.h > >> SRCS+= device_if.h bus_if.h pci_if.h > >> > >> #CFLAGS+= -DDEBUG_PRINT -DDEBUG > >> > > > > That's kind of odd. Do you have an explicit #include "opt_global.h" somewhere? > > > > It also doesn't work :) > > The problem is that if you build a kernel+module with > INVARIANTS+INVARIANT_SUPPORT set, then remove both options, rerun > config, make depend, make all, the module is not rebuilt and fails to load. Ah, that is a bug in the 'make depend' stuff. We explicitly enforce a dependency for kernels in kern.post.mk. Try this instead perhaps: Index: kmod.mk =================================================================== RCS file: /usr/cvs/src/sys/conf/kmod.mk,v retrieving revision 1.221 diff -u -r1.221 kmod.mk --- kmod.mk 19 Nov 2007 16:24:10 -0000 1.221 +++ kmod.mk 15 Feb 2008 14:50:03 -0000 @@ -428,6 +428,9 @@ assym.s: @/kern/genassym.sh .endif sh @/kern/genassym.sh genassym.o > ${.TARGET} +.if defined(KERNBUILDDIR) +genassym.o: opt_global.h +.endif .if exists(@) genassym.o: @/${MACHINE_ARCH}/${MACHINE_ARCH}/genassym.c .endif @@ -439,6 +442,10 @@ lint: ${SRCS} ${LINT} ${LINTKERNFLAGS} ${CFLAGS:M-[DILU]*} ${.ALLSRC:M*.c} +.if defined(KERNBUILDDIR) +${OBJS}: opt_global.h +.endif + .include <bsd.dep.mk> cleandepend: cleanilinks BTW, reading kmod.mk the submit above only works if .depend doesn't exist. It won't work if you have run 'make depend' because of this: .if !exists(${.OBJDIR}/${DEPENDFILE}) ${OBJS}: ${SRCS:M*.h} .endif -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802150952.39027.jhb>