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

# Things that Make needs
.SUFFIXES:
.SUFFIXES: .c .o .lo
@SET_MAKE@

# Programs
SHELL=/bin/sh
CC=@CC@
CFLAGS=@CFLAGS@
CPPFLAGS=@CPPFLAGS@
LDFLAGS=@LDFLAGS@
LIBS=@LIBS@
AR=@AR@
RANLIB=@RANLIB@
RM=rm -f
CP=cp
INSTALL=@INSTALL@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
INSTALL_DATA=@INSTALL_DATA@
RUNSERIAL=@RUNSERIAL@
RUNPARALLEL=@RUNPARALLEL@
RUNTEST=$(RUNSERIAL)
TRACE=:

# Installation points
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
libdir=@libdir@
includedir=@includedir@
PUB_LIB=$(LIB)

# Shared libraries
LT=$(top_builddir)/libtool
LT_COMPILE=$(LT) --mode=compile $(CC)
LT_LINK_LIB=$(LT) --mode=link $(CC) -rpath $(libdir)
LT_LINK_EXE=$(LT) --mode=link $(CC) -rpath $(bindir)
LT_RUN=$(LT) --mode=execute
LT_INSTALL_PROG=$(LT) --mode=install $(INSTALL_PROGRAM)
LT_INSTALL_LIB=$(LT) --mode=install $(INSTALL_DATA)
LT_UNINSTALL=$(LT) --mode=uninstall $(RM)


# The default is to build the library and/or programs.  We must build
# them sequentially.
all:
	$(MAKE) lib
	$(MAKE) progs
	$(MAKE) tests

# The following rules insure that the Makefile is up-to-date by rerunning
# various autoconf components (although not all versions of make assume
# that the makefile is implicitly a target).  We use time stamp files to
# keep track of the most recent update of H5config.h.in and H5config.h
# because autoheader and config.status don't update the modification time
# if the contents don't change.
#
# Graphically, the dependencies are:
#
#		         configure.in
#                           |  |
#         +-----------------+  +------------+
#         |                                 |
#      stamp1                           configure
#   (H5config.h.in)                         |
#       |  |                                |
#       |  +---------------+    +-----------+
#       |                  |    |
#       |               config.status
#       |                     |
#       |  +------------------+
#       |  |
#      stamp2
#    (H5config.h)                   Makefile.in et al
#         |                                 |
#         +------------------+  +-----------+
#                            |  |
#                          Makefile
#
# A side effect of updating stamp1 is to generate H5config.h.in and a
# side effect of updating stamp2 is to generate H5config.h.  When using
# a version of make that doesn't treat the makefile as the initial target
# the user may want to occassionally type `make Makefile' in any source
# directory.
#
STAMP1=$(top_builddir)/config/stamp1
STAMP2=$(top_builddir)/config/stamp2

MAKEFILE_PARTS=$(srcdir)/Makefile.in					      \
	       $(top_srcdir)/config/commence.in				      \
	       $(top_srcdir)/config/conclude.in				      \
	       $(top_srcdir)/config/depend.in

$(STAMP1): $(top_srcdir)/configure.in
	touch $(STAMP1)
	-cd $(top_srcdir); autoheader

$(STAMP2): $(STAMP1) $(top_builddir)/config.status
	touch $(STAMP2)
	-cd $(top_builddir); \
	   CONFIG_FILES= CONFIG_HEADERS=src/H5config.h ./config.status

$(top_srcdir)/configure: $(top_srcdir)/configure.in
	-cd $(top_srcdir); autoconf

$(top_builddir)/config.status: $(top_srcdir)/configure $(STAMP1)
	-cd $(top_builddir); ./config.status --recheck

Makefile: $(MAKEFILE_PARTS) $(STAMP2)
	-cd $(top_builddir); CONFIG_HEADERS= ./config.status

#------------------------------------------------------------------------------
# The following section of this makefile comes from the middle of `Makefile.in'
# from this directory.  It was generated by running `config.status'.
#------------------------------------------------------------------------------
