Re: source dependencies cleanup?

Peter T. Breuer (ptb@oboe.it.uc3m.es)
Wed, 4 Dec 1996 19:37:23 +0000 (WET)


"A month of sundays ago Raja R Harinath wrote:"
>
> "Peter T. Breuer" <ptb@oboe.it.uc3m.es> writes:
> > and I am not going to recompile _that_! Then there is the m68k stuff,
> > the scsi stuff on a non-scsi machine, all the net drivers that I don't
> > need (I only have one type of card and I use it as a versioned module)
> > plus the sound that I don't use, all the isdn stuff, all the file systems
> > that I don't use etc. etc. etc.
>
> This is orthogonal to `mkdep'.

Hmm, maybe ...

> It is the makefile rules that control what is relevant (which of the
> updated files actually belongs to the kernel). One can generate/include
> only dependencies of relevant files using either method, `mkdep' or `gcc
> -MD'.

Yes, indeed. If mkdep and gcc -MD do the same job then it is an
orthogonal issue, as you say. But they don't _seem_ to do the same job:

In the first place

the outputs are actually different (by experiment,
although I believe I know why and that it doesn't matter and that gcc
is the one that is being stupid about this, modulo make working right
..).

Secondly,

they actually look at different sets of source files. Gcc -MD
looks at only the files that need to be recompiled according to your
current dependency info. Mkdep looks at all source files.

> I come up with (0.5 + 0.0001) * Y for `gcc -MD', given my set of
> assumptions (and my understanding of how you use X & Y :-).

That is correct (for the wrong operation), and you understand right!
You have calculated the time to recompile .o's and regenerate _some_
dependencies. I calculated the time to recompile .o's and regenerate
_all_ dependencies.

> > > b) I can forget to do it (make depend)
>
> I use Debian's `make-kpkg' to "fix" that.

I have never figured out how to install debian packages without getting
some magic debian boot disk that I don't want to use. Ditto redhat
rpms. Any clues? (Shamelessly begging way off-topic).

(in the latter case, I suspect it is impossible. You need to install
python and a whole lot of things just right .. the easiest way is to
use an rpm package, which of course, is what you are trying to figure
out how to install ..)

> --
> Raja R Harinath ------------------------------ harinath@cs.umn.edu

---------------------------------------------------------------------
Peter T. Breuer Phd. Ing.,
Area de Ingenieria Telematica E-mail: ptb@it.uc3m.es
Dpto. Ingenieria Tel: +34 1 624 99 47
Universidad Carlos III de Madrid Fax: +34 1 624 94 30/65
Butarque 15, E-28911 Leganes URL: http://www.it.uc3m.es/~ptb
Spain
---------------------------------------------------------------------