Date: Fri, 22 Apr 2005 23:09:44 +0300 From: Ruslan Ermilov <ru@FreeBSD.org> To: Bruce Evans <bde@zeta.org.au> Cc: David O'Brien <obrien@FreeBSD.org> Subject: Re: cvs commit: src/sys/conf kmod.mk Message-ID: <20050422200944.GC23926@ip.net.ua> In-Reply-To: <20050422233107.J93439@delplex.bde.org> References: <200504182110.j3ILAc8J031298@repoman.freebsd.org> <20050418.152011.74745144.imp@bsdimp.com> <20050419182938.GA27941@dragon.NUXI.org> <20050420055904.GA33015@ip.net.ua> <20050420161212.GA52582@dragon.NUXI.org> <20050421125501.W88810@delplex.bde.org> <20050421070011.GA81229@ip.net.ua> <20050421171036.Q2082@epsplex.bde.org> <20050421185925.GA85015@ip.net.ua> <20050422233107.J93439@delplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--96YOpH+ONegL0A3E Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, On Fri, Apr 22, 2005 at 11:50:52PM +1000, Bruce Evans wrote: > On Thu, 21 Apr 2005, Ruslan Ermilov wrote: >=20 > >On Thu, Apr 21, 2005 at 05:43:25PM +1000, Bruce Evans wrote: > >>Another dependency bug that sometimes bites me: "make" doesn't work > >>after "make clean", at least under the old version of -current that I > >>use, because dependencies for lots of generated sources (like device_if= =2Ec > >>(?)) are missing. Dependencies for older generated files like > >>vnode_if.c are handled correctly, and "make depend" doesn't have > >>the problem because the necessary dependencies are in BEFORE_DEPEND. > >> > >Maybe this is only an old bug, as there are these lines in kern.post.mk: > > > >.if !exists(${.OBJDIR}/.depend) > >${SYSTEM_OBJS}: assym.s vnode_if.h ${BEFORE_DEPEND:M*.h}=20 > >${MFILES:T:S/.m$/.h/} > >.endif >=20 > Note that this only works when .depend doesn't exist (it works using the > usual hack of making all objects depend on all geaders in that case). >=20 > >At least "make -n kernel >/dev/null" after "make clean" doesn't > >complain now. >=20 > I check that it doesn't work after "make depend; make; make clean". The > first error is for amd64's GENERIC is: >=20 > %%% > In file included from ./../../../dev/aic7xxx/aic7xxx_osm.h:44, > from aic7xxx_reg_print.c:9: > ../../../sys/bus.h:461:23: device_if.h: No such file or directory > %%% >=20 > This can be worked around using either "rm .depend" or "make cleandepend" > so that the above hack works, or using "make depend" which creates all > the generated sources as a side effect. >=20 Should be fixed now. The problem was that aic*_reg_print.c's were not in CFILES in a makefile produced by config(8), making the corresponding =2Eo files to *NOT* appear in .depend. I expanded {}'s in sys/conf/files and that did the trick (config(8) doesn't understand the {} syntax; make(1) does, in dependency lines). > I agree with the change in behaviour in your other mail (make > "make depend" behave the same for kernels as for applications). To > be complete, the stupid message printed by config(8) should be expanded > to give a reminder about not forgetting to run ``make cleandepend'' ;-). >=20 Done. :-) Cheers, --=20 Ruslan Ermilov ru@FreeBSD.org FreeBSD committer --96YOpH+ONegL0A3E Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (FreeBSD) iD8DBQFCaVoIqRfpzJluFF4RAhCLAJ9g8E1Kmu62f/LgifdyMN0k3VePMwCgjYTf BkD0VBWuW/RpH7Jl+QIyYGg= =6wPb -----END PGP SIGNATURE----- --96YOpH+ONegL0A3E--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050422200944.GC23926>