[vox-tech] Make question: headers depending on other headers

Bill Kendrick vox-tech@lists.lugod.org
Wed, 31 Mar 2004 15:47:27 -0800


On Wed, Mar 31, 2004 at 03:22:11PM -0800, Jeff Newmiller wrote:
> >   /* bar.h
> >      I do things with alcohol (get it? "bar?" hahaha...) */
> > 
> >   #include "bar.h"  /* My header */
> >   #include "zzz.h"  /* Contains some #define's for compile-time options */
> > 
> >   ...
> > 
> > 
> > Should I make "bar.h" depend on "zzz.h"?  Or "foo.o" depend on it?  Or...?
> 
> You have bar.h including bar.h... not a good idea.  I am not really sure
> where your question was leading... assuming we omit the recursion...

Heh, whoops, no ignore that, sorry.  I thought I was doing 'bar.c', but
yeah...

bar.h #include's zzz.h, but NOT bar.h itself. :)  No recursion.  Sorry for
the typo...


> * the foo.c dependency should include foo.h, bar.h, and zzz.h
> 
> * any bar.c dependency should include bar.h and zzz.h

Okay, so Rod's idea for a Makefile variable seems best, since there will
be .h files that include other .h's, and are themselves included by other
.c files...

<snip>
> In general, for a given .c.o dependency, you need to include all of the
> quoted includes that it depends on... directly OR indirectly. This is
> generally not done for <> includes (library headers).

Heh, in the environment I'm coding for, there ARE no "<>" includes.
Lame. >:^P

-bill!
bill@newbreedsoftware.com              Have you visited the Linux Users' Group
http://newbreedsoftware.com/bill/        of Davis yet!?  http://www.lugod.org/