#------------------------------------------------------------- -*- makefile -*-
# The following section of this makefile comes from the
# `./config/conclude' file which was generated with config.status
# from `./config/conclude.in'.
#------------------------------------------------------------------------------

# This is the target for the library described in the main body of the
# makefile.
#
lib: $(LIB)
$(LIB) __no_library__: $(LIB_OBJ)
	$(AR) -rc $@ $(LIB_OBJ)
	$(RANLIB) $@

progs: $(LIB) $(PROGS)

# Build a tags file in this directory.
TAGS: $(LIB_SRC)
	$(RM) $@
	-etags $(LIB_SRC)

# Runs each test in order, passing $(TEST_FLAGS) to the program.
tests: $(LIB) $(TESTS)
test _test: tests
	@for test in $(TESTS) dummy; do			                      \
	   if test $$test != dummy; then				      \
	      echo "============================";			      \
	      echo "Testing $$test $(TEST_FLAGS)";			      \
	      echo "============================";			      \
	      $(RUNTEST) ./$$test $(TEST_FLAGS) || exit 1;		      \
	      echo "";							      \
	   fi;								      \
	done;

# Install the library, the public header files, and programs.
install: $(LIB) $(PUB_HDR) $(PROGS)
	@test -d $(libdir) || mkdir $(libdir)
	@for f in X $(LIB); do						      \
	   if test $$f != X; then					      \
	      (set -x; $(INSTALL_DATA) $$f $(libdir)/. || exit 1);	      \
	   fi;								      \
	done
	@test -d $(includedir) || mkdir $(includedir)
	@for f in X $(PUB_HDR); do					      \
	   if test $$f != X; then					      \
	      (set -x; $(INSTALL_DATA) $$f $(includedir)/. || exit 1);        \
	   fi								      \
	done
	@test -d $(bindir) || mkdir $(bindir)
	@for f in X $(PROGS); do					      \
	   if test $$f != X; then					      \
	     (set -x; $(INSTALL_PROGRAM) $$f $(bindir)/. || exit 1);	      \
	   fi;							              \
	done

# Removes those things that `make install' (would have) installed.
uninstall:
	@if test "X$(LIB)" != X; then					      \
           set -x; cd $(libdir) && $(RM) $(LIB);			      \
	fi
	@if test "X$(PUBHDR)" != X; then				      \
	   set -x; cd $(includedir) && $(RM) $(PUB_HDR);		      \
	fi
	@if test "X$(PROGS)" != X; then					      \
	   set -x; cd $(bindir) && $(RM) $(PROGS);			      \
	fi

# Removes temporary files without removing the final target files.  That is,
# remove things like object files but not libraries or executables.
#
mostlyclean:
	$(RM) $(LIB_OBJ) $(TEST_OBJ) $(PROG_OBJ) $(MOSTLYCLEAN)

# Like `mostlyclean' except it also removes the final targets: things like
# libraries and executables.  This target doesn't remove any file that
# is part of the HDF5 distribution.
#
clean: mostlyclean
	$(RM) $(LIB) $(TESTS) $(PROGS) $(CLEAN)

# Like `clean' except it also removes files that were created by running
# configure.  If you've unpacked the source and built HDF5 without creating
# any other files, then `make distclean' will leave only the files that were
# in the distribution.
#
distclean: clean
	$(RM) .depend TAGS *~ core *.core *.bak *.old *.new $(DISTCLEAN)
	@if test -f Makefile.in; then					      \
	   (set -x; $(RM) Makefile);					      \
	fi

# Like `distclean' except it deletes all files that can be regenerated from
# the makefile, including those generated from autoheader and autoconf.
#
maintainer-clean: distclean
	$(RM) *~ core core.* *.core *.bak *.contrib gmon.out

# Implicit rules
.c.a:
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
	$(AR) -rc $@ $*.o
	$(RM) $*.o

.c.o:
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<

#------------------------------------------------------------------------------
# The following section of this makefile contains dependencies between the
# source files and the header files.  If GNU make and GCC are being used then
# the dependencies are in the form of rules that cause the information to
# be kept updated automatically.  Otherwise the dependencies are listed
# explicitly and come from the `.distdep' files in the various directories.
# These files are part of the distribution and are generated automatically on
# GNU/GCC systems.
#------------------------------------------------------------------------------

@DEPEND1@
@DEPEND2@
