hdf5/config/depend1.in
Bill Wendling 8bbacc3ae3 [svn-r3778] Purpose:
Update
Description:
    Changed the way .depend and Dependencies files were being generated.
    Instead of gathering all files which are ``#included'', we only pick
    out the ones which are local to us.
Solution:
    Changed -M flag to -MM and changed

        #include <hdf5_files.h>

    to

        #include "hdf5_files.h"

    in the source code.
Platforms tested:
    Linux
2001-04-05 12:04:07 -05:00

55 lines
2.4 KiB
Makefile

## -*- 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.
##
$(srcdir)/Dependencies: .depend
@if test "$(srcdir)" != "."; then \
echo '## This file is machine generated on GNU systems.' >$@; \
echo '## Only temporary changes may be made here.' >>$@; \
echo >>$@; \
perl -p $(top_srcdir)/bin/distdep .depend >>$@; \
else \
echo 'Dependencies cannot be built when $$srcdir == $$builddir'; \
fi
.depend: $(LIB_SRC) $(TEST_SRC) $(PROG_SRC)
@touch .depend
@for dep in $? dummy; do \
if [ $$dep != "dummy" ]; then \
case "$$dep" in \
*.c) \
echo Building dependencies for $$dep; \
obj=`basename $$dep .c`.lo; \
sed '\%^'"$$obj"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@; \
$(TRACE) $$dep; \
$(CC) -MM -MG $(CPPFLAGS) $$dep 2>/dev/null | \
sed 's% $(srcdir)/% $$(srcdir)/%g' | \
sed 's% $(top_srcdir)/% $$(top_srcdir)/%g' | \
sed 's% $(top_builddir)/% $$(top_builddir)/%g' | \
sed 's/\.o/.lo/' >>$@; \
;; \
esac; \
fi; \
done
-include .depend