#------------------------------------------------------------- -*- 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)
	@$(LT_LINK_LIB) -o $@ $(CFLAGS) $(LIB_OBJ) $(LIBS)

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: $(TEST_PROGS) $(LIB)
check test _test: tests
	@for test in $(TEST_PROGS) dummy; do                                  \
	   if test $$test != dummy; then				      \
	      echo "============================";			      \
	      echo "Testing $$test $(TEST_FLAGS)";			      \
	      echo "============================";			      \
	      PATH=".:$$PATH" srcdir=$(srcdir)				      \
		 $(RUNTEST) $$test $(TEST_FLAGS) ||			      \
		 exit 1;						      \
	      echo "";							      \
	   fi;								      \
	done;
	@for test in $(TEST_SCRIPTS) dummy; do                                \
	   if test $$test != dummy; then				      \
	      echo "============================";			      \
	      echo "Testing $$test $(TEST_FLAGS)";			      \
	      echo "============================";			      \
	      RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)"           \
	      srcdir=$(srcdir)						      \
		 /bin/sh $$test $(TEST_FLAGS) ||		              \
		 exit 1;						      \
	      echo "";							      \
	   fi;								      \
	done;

# Make installation directories directories if they don't exist.
$(libdir):
	mkdir $@ && chmod 755 $@

$(includedir):
	mkdir $@ && chmod 755 $@

$(bindir):
	mkdir $@ && chmod 755 $@

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

# Removes those things that `make install' (would have) installed.
uninstall:
	@if test "X$(LIB)" != X; then					      \
	   for f in $(LIB); do						      \
	      $(LT_UNINSTALL) $(libdir)/$$f;				      \
	   done;							      \
	fi
	@if test "X$(PUB_HDR)" != X; then				      \
	   set -x; cd $(includedir) && $(RM) $(PUB_HDR);		      \
	fi
	@if test "X$(PROGS)" != X; then					      \
	   for f in $(PROGS); do					      \
	      $(LT_UNINSTALL) $(bindir)/$$f;				      \
	   done;							      \
	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) $(LIB_OBJ:.lo=.o)
	-$(RM) $(TEST_OBJ) $(TEST_OBJ:.lo=.o)
	-$(RM) $(PROG_OBJ) $(PROG_OBJ:.lo=.o) $(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) $(TEST_PROGS) $(PROGS) $(CLEAN)
	-$(RM) -r .libs

# 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 $(srcdir)/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.o:
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $<

.c.lo:
	@$(LT_COMPILE) $(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@
@DEPEND3@
@DEPEND4@
