cvs commit: src/sys/conf kmod.mk
Ruslan Ermilov
ru at FreeBSD.org
Fri Apr 22 13:09:43 PDT 2005
Hi,
On Fri, Apr 22, 2005 at 11:50:52PM +1000, Bruce Evans wrote:
> On Thu, 21 Apr 2005, Ruslan Ermilov wrote:
>
> >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.c
> >>(?)) 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}
> >${MFILES:T:S/.m$/.h/}
> >.endif
>
> 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).
>
> >At least "make -n kernel >/dev/null" after "make clean" doesn't
> >complain now.
>
> I check that it doesn't work after "make depend; make; make clean". The
> first error is for amd64's GENERIC is:
>
> %%%
> 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
> %%%
>
> 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.
>
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
.o 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'' ;-).
>
Done. :-)
Cheers,
--
Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-all/attachments/20050422/507de103/attachment.bin
More information about the cvs-all
mailing list