cvs commit: src/usr.sbin/config main.c

Ruslan Ermilov ru at FreeBSD.org
Fri Apr 22 22:05:10 PDT 2005


On Fri, Apr 22, 2005 at 01:58:34PM -0700, Marcel Moolenaar wrote:
> On Apr 22, 2005, at 1:34 PM, Ruslan Ermilov wrote:
> 
> >>>I personally fail to see how this can be solved...  :-(
> >>
> >>Ok, what about this:
> >>mkdep(1) creates lines of the form
> >>
> >>	foo.o: foo.c inc1.h inc2.h
> >>
> >>Would this problem be solved if mkdep(1) created lines like:
> >>
> >>	foo.o .depend: foo.c inc1.h inc2.h
> >>
> >>or equivalent?
> >>
> >>Would something else break if we do that?
> >>
> >I fail to see what this gives us, except for also breaking
> >"make .depend" when .depend is present and inc2.h disappears.
> 
> True, there is a phase ordering problem. But isn't that something
> that can be worked around by making the necessary adjustments to
> make(1). The adjustments would be that if .depend is out of
> date, it is being made without making any sources that are out
> of date (or missing). This may require adding a special source
> to the mix of special sources that make(1) already has: .SOFTDEP
> or something like that. One can also hardcode this special case,
> but that seems ugly.
> 
That's an idea!  I've tested the following, and it seems that it
can be made to work, after some polishing.  In .depend, have the
following dependencies generated by mkdep(1):

.depend: <all sources>
.for f in <all sources>
.if !exists($f)
$f:
.endif
.endfor


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/20050423/0b60617e/attachment.bin


More information about the cvs-all mailing list