help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: auto-dependency usefulness?


From: Martin d'Anjou
Subject: Re: auto-dependency usefulness?
Date: Thu, 2 Oct 2003 08:05:51 -0400 (EDT)

>lib/
>   foo.h
>   foo.c
>src/
>   main.c
>
>In this scenario, foo.h declares a "library" function defined in foo.c. 
>This function is called in main.c, which includes foo.h.  As far as I 
>know, this is the generally accepted way to modularize things.  However, 
>gcc's dependency generation doesn't trace main.c's dependency on foo.c, 
>only on foo.h.  How can this dependency be known?  Or even assumed, 
>given that there is a corresponding .c file for .h file?

One trick I use is cproto. I never write .h files myself, I let cproto
write them for me. Once the writing of .h files is automated, chains of
implicit rules can be used:

%.h : %.c
   cproto ...

%.o : %.h
   gcc ...

OBJS=foo.o bar.o main.o

all: $(OBJS)

The other trick I use is a recursive search of pre-requisites. A script
will take a list of directories and a file name as an argument, will open
the file, and recursively search down the #include'd files and generate a
series of target:pre-requisites that I load in the makefile with
'-include', as explained on the paulandlesley web site. It is not easy,
but it works.

Hope this helps,

Martin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]