diff options
Diffstat (limited to 'config/depend1.in')
-rw-r--r-- | config/depend1.in | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/config/depend1.in b/config/depend1.in new file mode 100644 index 0000000..0e714b9 --- /dev/null +++ b/config/depend1.in @@ -0,0 +1,51 @@ +## -*- makefile -*- + +## We keep a list of dependencies in `.depend' for each of the source +## files on which it depends. When one of the source files is modified +## we remove its record from .depend and regenerate its dependencies, +## tacking them onto the end of .depend. By including the .depend file +## into the makefile, we're telling make that the makefile depends on +## the dependency list in the .depend file. +## +## This is as fast as the `.d' method described in the GNU make manual +## for automatic dependencies, but has the added advantage that all +## dependencies are stored in one place. The advantage over the +## `makedepend' program is that only those files that are out of date +## have dependency information rebuilt, and the Makefile is not +## modified. +## +## This is also where tracing information is updated. The $(TRACE) +## program is run on each source file to make sure that the H5TRACE() +## macros are up to date. If they are then the file is not modified, +## otherwise the file is changed and a backup is saved by appending a +## tilde to the file name. +## +.PRECIOUS: $(srcdir)/Dependencies +$(srcdir)/Dependencies: .depend + -@echo '## This file is machine generated on GNU systems.' >$@ + -@echo '## Only temporary changes may be made here.' >>@ + -@echo >>@ + -srcdir=$(srcdir) perl -p $(top_srcdir)/bin/distdep .depend >>$@ + +.PRECIOUS: .depend +.depend: $(LIB_SRC) $(TEST_SRC) $(PROG_SRC) + @touch .depend + @for dep in $? dummy; do \ + if [ $$dep != "dummy" ]; then \ + echo Building dependencies for $$dep; \ + obj=`echo $$dep | sed 's/\.c/\\\\.lo/'`; \ + sed '\%$$obj%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@; \ + $(TRACE) $$dep; \ + $(CC) -M -MG $(CPPFLAGS) $$dep 2>/dev/null | \ + sed 's/\.o/.lo/' >>$@; \ + fi; \ + done; + -@echo '## This file is machine generated on GNU systems.' \ + >$(srcdir)/Dependencies + -@echo '## Only temporary changes may be made here.' \ + >>$(srcdir)/Dependencies + -@echo >>$(srcdir)/Dependencies + -perl -p $(top_srcdir)/bin/distdep .depend >>$(srcdir)/Dependencies + +-include .depend + |