Subject: Re: Auto creating depend files
To: matthew green <mrg@eterna.com.au>
From: Simon J. Gerraty <sjg@crufty.net>
List: tech-toolchain
Date: 12/15/2003 18:04:18
>   This means that incorrect dependencies are used the first time a source
>   file is rebuilt, but after that they self correct.  It also completely
>   removes the need for a 'make depend' pass.

>i think this is actually a step backwards.  we may lose the make depend
>step, but we gain incorrectness...  now i have to run 'make all' twice
>to be sure, which is _way_ slower than 'make dependall' once.

That hasn't been my experience.  I've been using this same autodep procedure
for about 3 years.  All that is needed is for a simple dependency rule in
a makefile to take effect when .depend is missing.  Under almost any other 
circumstance the autogenerated .depend is as accurate as can be obtained
by a separate depend pass.  The only hiccup is .depend containing a 
reference to a now defunct header - but marking headers in .depend
as .OPTIONAL seems to take care of that.

Even without that, over the last 3 years with about 100 engineers busily 
working on a code base similar to netbsd, the need to make clean in 
a directory due to a broken .depend (due to a renamed/removed header) 
is quite rare.

I.e autodep has proven to be a net win.

--sjg