Skip site navigation (1)Skip section navigation (2)
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>