On 26 Jun 2003, Fabio Alemagna wrote: > My goal is to have make include .d files only when they are actually > needed, so that when make starts, it doesn't have to check whether any .c > files (from which all the .d ones are generated) have changed, so I've > come up with this solution:
Hi Fabio, Use the "-" prefix with your include statements, it's much simpler: -include $(DEPS) This will ignore the errors caused by a file not being found. More generally, you can make your dependency generation a lot simpler. See Paul Smith's website for an essay about it: http://make.paulandlesley.org/ It's under the "Advanced Auto-dependency Generation" link. In a nutshell, you incorporate your dependency generation rule into the compilation rule. Touched source files will be recompiled anyway, and untouched files with dependency information will be recompiled if necessary. You're lucky you're doing this with C source and not Fortran 90, though --- f90 module files are like .h files (they contain interface information) but are automatically generated by the compiler. Since the .mod file timestamps are changed whenever the source file is touched and recompiled, this can lead to unnecessary cascades of recompilation, even when the interface has not changed. If you ever run into a situation like this, see http://www.theochem.uwa.edu.au/fortran/recompile/ Ted -- Ted Stern Applications Group Cray Inc. office: 206-701-2182 411 First Avenue South, Suite 600 cell: 206-383-1049 Seattle, WA 98104-2860 FAX: 206-701-2500 Frango ut patefaciam -- I break that I may reveal (The Paleontological Society motto, equally apropos for debugging) _______________________________________________ Bug-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-make