#------------------------------------------------------------- -*- 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
@SET_MAKE@

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

# Installation points
ROOT=@ROOT@
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
libdir=@libdir@
includedir=@includedir@

# 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
#         |                                           |
#         |                                     config.status
#         |                                       |   |
#         | +-------------------------------------+   |
#         | |                                         |
#       stamp2          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=$(ROOT)/config/stamp1
STAMP2=$(ROOT)/config/stamp2

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

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

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

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

$(ROOT)/config.status: $(ROOT)/configure
	-(cd $(ROOT); ./config.status --recheck)

Makefile: $(MAKEFILE_PARTS) $(ROOT)/config.status $(STAMP2)
	-(cd $(ROOT); 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'.
#------------------------------------------------------------------------------
