Hi, You're not rebuilding header1.h, so its date doesn't change and therefore source.o is not recompiled.
What you need is: source.o: header1.h header2.h There are automatic ways of doing this (and I'm not an expert), but the above would give you want you need. -----Original Message----- From: Peter Sherwood [mailto:[EMAIL PROTECTED]] Sent: Thursday, November 22, 2001 2:26 PM To: [EMAIL PROTECTED] Subject: Dependency of a dependency in make? I have a problem in using GNU make, probably because I don't understand how to use it. I have a C source file which includes a header file, which in turn includes another,like this: source.c header1.h ... ... #include "header1.h" #include "header2.h" The relevant parts of my makefile looks like this: OBJECTS = source.o LIBRARIES = /usr/X11R6/lib/libX11.a ../fftw-2.1.3/fftw/.libs/libfftw.a -lm Source: $(OBJECTS) $(LIBRARIES) gcc -static -o source $(OBJECTS) $(LIBRARIES) CFLAGS=-g -Wall -gstabs # used by the implicit rule $(CC) -c $(CPPFLAGS) $(CFLAGS) # Dependencies of source files which create the named objects source.o: source.h header1.h # Dependencies of header files header1.h: header2.h By writing the makefile in this way, I expected that changes in header2.h would cause source.c to get recompiled to source.o, since source.o depends on header1.h and header1.h depends on header2.h. But this is not the case. >From make's debug (-d) output, the dependencies of header1.h were not considered. How can I accomplish what I want, without putting header2.h in as an explicit dependency wherever I have header1.h now? _______________________________________________ Help-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-make _______________________________________________ Help-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-make
