# Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@

# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

@SET_MAKE@

#
# Copyright by the Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of HDF5.  The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html.  COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic HDF5 document set and
# is linked from the top-level documents page.  It can also be found at
# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
# access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu.
#
# hdf5 Parallel Library Test Makefile(.in)
#

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

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

srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@

bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..

ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@

am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@

EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@

# Install directories that automake doesn't know about
includedir = $(exec_prefix)/include
ADD_PARALLEL_FILES = @ADD_PARALLEL_FILES@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AWK = @AWK@
BUILD_PDB2HDF = @BUILD_PDB2HDF@
BYTESEX = @BYTESEX@
CC = @CC@
CC_VERSION = @CC_VERSION@
CONFIG_DATE = @CONFIG_DATE@
CONFIG_MODE = @CONFIG_MODE@
CONFIG_USER = @CONFIG_USER@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
DEBUG_PKG = @DEBUG_PKG@
DEFAULT_LIBS = @DEFAULT_LIBS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO = @ECHO@
F77 = @F77@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
FFLAGS = @FFLAGS@
FILTERS = @FILTERS@
FSEARCH_DIRS = @FSEARCH_DIRS@
GASS = @GASS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HDF5_INTERFACES = @HDF5_INTERFACES@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
HSIZET = @HSIZET@
HSIZE_T = @HSIZE_T@
HSSIZE_T = @HSSIZE_T@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LT_STATIC_EXEC = @LT_STATIC_EXEC@
MPE = @MPE@
OBJDUMP = @OBJDUMP@
OBJECT_NAMELEN_DEFAULT_F = @OBJECT_NAMELEN_DEFAULT_F@
PACKAGE = @PACKAGE@
PARALLEL = @PARALLEL@
PERL = @PERL@
PTHREAD = @PTHREAD@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
RUNSERIAL = @RUNSERIAL@
R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SETX = @SETX@
SIZE_T = @SIZE_T@
SRB = @SRB@
SSL = @SSL@
STATIC_SHARED = @STATIC_SHARED@
STRIP = @STRIP@
TESTGASS = @TESTGASS@
TESTPARALLEL = @TESTPARALLEL@
TESTSRB = @TESTSRB@
TRACE_API = @TRACE_API@
USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@
USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@
USE_FILTER_NBIT = @USE_FILTER_NBIT@
USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@
USE_FILTER_SZIP = @USE_FILTER_SZIP@
VERSION = @VERSION@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@

# Shell commands used in Makefiles
RM = rm -f
CP = cp

# Libraries to link to while building
LIBHDF5 = $(top_builddir)/src/libhdf5.la
LIBH5TEST = $(top_builddir)/test/libh5test.la
LIBH5F = $(top_builddir)/fortran/src/libhdf5_fortran.la
LIBH5FTEST = $(top_builddir)/fortran/test/libh5test_fortran.la
LIBH5CPP = $(top_builddir)/c++/src/libhdf5_cpp.la
LIBH5TOOLS = $(top_builddir)/tools/lib/libh5tools.la
LIBH5_HL = $(top_builddir)/hl/src/libhdf5_hl.la
LIBH5F_HL = $(top_builddir)/hl/fortran/src/libhdf5hl_fortran.la
docdir = $(exec_prefix)/doc

# Scripts used to build examples
H5CC = $(bindir)/h5cc
H5CC_PP = $(bindir)/h5pcc
H5FC = $(bindir)/h5fc
H5FC_PP = $(bindir)/h5pfc

# Make sure that these variables are exported to the Makefiles
F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@

AM_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/test

# Test programs and scripts.  These are our main targets.
#
TEST_PROG_PARA = t_mpi t_fphdf5 testphdf5
TEST_SCRIPT = testph5.sh

check_PROGRAMS = $(TEST_PROG_PARA)
check_SCRIPTS = $(TEST_SCRIPT)

testphdf5_SOURCES = testphdf5.c t_dset.c t_file.c t_mdset.c t_ph5basic.c \
        t_coll_chunk.c t_span_tree.c


# The tests all depend on the hdf5 library and the test library
LDADD = $(LIBHDF5) $(LIBH5TEST)

# Temporary files
# MPItest.h5 is from t_mpi
# Para*.h5 are from testphdf
# *.clog are from MPE option
MOSTLYCLEANFILES = MPItest.h5 Para*.h5 *.clog
DISTCLEANFILES = go Makefile testph5.sh

# Automake needs to be taught how to build lib, progs, and tests targets.
# These will be filled in automatically for the most part (e.g.,
# lib_LIBRARIES are built for lib target), but EXTRA_LIB, EXTRA_PROG, and
# EXTRA_TEST variables are supplied to allow the user to force targets to
# be built at certain times. 
LIB = $(lib_LIBRARIES) $(lib_LTLIBRARIES) $(noinst_LIBRARIES)                 \
      $(noinst_LTLIBRARIES) $(check_LIBRARIES) $(check_LTLIBRARIES) $(EXTRA_LIB)

PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS)   \
        $(EXTRA_PROG)

TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST) 
subdir = testpar
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/src/H5config.h
CONFIG_CLEAN_FILES = testph5.sh
check_PROGRAMS = t_mpi$(EXEEXT) t_fphdf5$(EXEEXT) testphdf5$(EXEEXT)
t_fphdf5_SOURCES = t_fphdf5.c
t_fphdf5_OBJECTS = t_fphdf5.$(OBJEXT)
t_fphdf5_LDADD = $(LDADD)
t_fphdf5_DEPENDENCIES = $(top_builddir)/src/libhdf5.la \
	$(top_builddir)/test/libh5test.la
t_fphdf5_LDFLAGS =
t_mpi_SOURCES = t_mpi.c
t_mpi_OBJECTS = t_mpi.$(OBJEXT)
t_mpi_LDADD = $(LDADD)
t_mpi_DEPENDENCIES = $(top_builddir)/src/libhdf5.la \
	$(top_builddir)/test/libh5test.la
t_mpi_LDFLAGS =
am_testphdf5_OBJECTS = testphdf5.$(OBJEXT) t_dset.$(OBJEXT) \
	t_file.$(OBJEXT) t_mdset.$(OBJEXT) t_ph5basic.$(OBJEXT) \
	t_coll_chunk.$(OBJEXT) t_span_tree.$(OBJEXT)
testphdf5_OBJECTS = $(am_testphdf5_OBJECTS)
testphdf5_LDADD = $(LDADD)
testphdf5_DEPENDENCIES = $(top_builddir)/src/libhdf5.la \
	$(top_builddir)/test/libh5test.la
testphdf5_LDFLAGS =

DEFS = @DEFS@
DEFAULT_INCLUDES =  -I. -I$(srcdir) -I$(top_builddir)/src
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/t_coll_chunk.Po \
@AMDEP_TRUE@	./$(DEPDIR)/t_dset.Po ./$(DEPDIR)/t_file.Po \
@AMDEP_TRUE@	./$(DEPDIR)/t_fphdf5.Po ./$(DEPDIR)/t_mdset.Po \
@AMDEP_TRUE@	./$(DEPDIR)/t_mpi.Po ./$(DEPDIR)/t_ph5basic.Po \
@AMDEP_TRUE@	./$(DEPDIR)/t_span_tree.Po ./$(DEPDIR)/testphdf5.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
	$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
CFLAGS = @CFLAGS@
DIST_SOURCES = t_fphdf5.c t_mpi.c $(testphdf5_SOURCES)
DIST_COMMON = Makefile.am Makefile.in testph5.sh.in
SOURCES = t_fphdf5.c t_mpi.c $(testphdf5_SOURCES)

all: all-am

.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in:  Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
	cd $(top_srcdir) && \
	  $(AUTOMAKE) --foreign  testpar/Makefile
Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
testph5.sh: $(top_builddir)/config.status testph5.sh.in
	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@

clean-checkPROGRAMS:
	@list='$(check_PROGRAMS)'; for p in $$list; do \
	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
	  echo " rm -f $$p $$f"; \
	  rm -f $$p $$f ; \
	done
t_fphdf5$(EXEEXT): $(t_fphdf5_OBJECTS) $(t_fphdf5_DEPENDENCIES) 
	@rm -f t_fphdf5$(EXEEXT)
	$(LINK) $(t_fphdf5_LDFLAGS) $(t_fphdf5_OBJECTS) $(t_fphdf5_LDADD) $(LIBS)
t_mpi$(EXEEXT): $(t_mpi_OBJECTS) $(t_mpi_DEPENDENCIES) 
	@rm -f t_mpi$(EXEEXT)
	$(LINK) $(t_mpi_LDFLAGS) $(t_mpi_OBJECTS) $(t_mpi_LDADD) $(LIBS)
testphdf5$(EXEEXT): $(testphdf5_OBJECTS) $(testphdf5_DEPENDENCIES) 
	@rm -f testphdf5$(EXEEXT)
	$(LINK) $(testphdf5_LDFLAGS) $(testphdf5_OBJECTS) $(testphdf5_LDADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT) core *.core

distclean-compile:
	-rm -f *.tab.c

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_coll_chunk.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_dset.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_file.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_fphdf5.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_mdset.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_mpi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ph5basic.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_span_tree.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testphdf5.Po@am__quote@

distclean-depend:
	-rm -rf ./$(DEPDIR)

.c.o:
@AMDEP_TRUE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@	$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
	$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<

.c.obj:
@AMDEP_TRUE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@	$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
	$(COMPILE) -c `cygpath -w $<`

.c.lo:
@AMDEP_TRUE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@	depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
@AMDEP_TRUE@	$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
	$(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
CCDEPMODE = @CCDEPMODE@

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

distclean-libtool:
	-rm -f libtool
uninstall-info-am:

ETAGS = etags
ETAGSFLAGS =

tags: TAGS

ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '    { files[$$0] = 1; } \
	       END { for (i in files) print i; }'`; \
	mkid -fID $$unique

TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	tags=; \
	here=`pwd`; \
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '    { files[$$0] = 1; } \
	       END { for (i in files) print i; }'`; \
	test -z "$(ETAGS_ARGS)$$tags$$unique" \
	  || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	     $$tags $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && cd $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) $$here

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)

top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)

distdir: $(DISTFILES)
	@list='$(DISTFILES)'; for file in $$list; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
	    dir="/$$dir"; \
	    $(mkinstalldirs) "$(distdir)$$dir"; \
	  else \
	    dir=''; \
	  fi; \
	  if test -d $$d/$$file; then \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
	    fi; \
	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
	  else \
	    test -f $(distdir)/$$file \
	    || cp -p $$d/$$file $(distdir)/$$file \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS)
	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
all-am: Makefile all-local

installdirs:

install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	  INSTALL_STRIP_FLAG=-s \
	  `test -z '$(STRIP)' || \
	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)

clean-generic:

distclean-generic:
	-rm -f Makefile $(CONFIG_CLEAN_FILES)
	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean: clean-am

clean-am: clean-checkPROGRAMS clean-generic clean-libtool mostlyclean-am

distclean: distclean-am

distclean-am: clean-am distclean-compile distclean-depend \
	distclean-generic distclean-libtool distclean-tags

dvi: dvi-am

dvi-am:

info: info-am

info-am:

install-data-am:

install-exec-am:

install-info: install-info-am

install-man:

installcheck-am:

maintainer-clean: maintainer-clean-am

maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool

uninstall-am: uninstall-info-am

.PHONY: GTAGS all all-am all-local check check-TESTS check-am clean \
	clean-checkPROGRAMS clean-generic clean-libtool distclean \
	distclean-compile distclean-depend distclean-generic \
	distclean-libtool distclean-tags distdir dvi dvi-am info \
	info-am install install-am install-data install-data-am \
	install-exec install-exec-am install-info install-info-am \
	install-man install-strip installcheck installcheck-am \
	installdirs maintainer-clean maintainer-clean-generic \
	mostlyclean mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool tags uninstall uninstall-am \
	uninstall-info-am


# Let automake worry about Makefiles and configure components being up-to-
# date.
#
#
# 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.
# Invoke it by "gmake reconfigure".
#
# 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.
# The `Makefile' target has been renamed to `reconfigure' so that the
# autoconf and make depend processes do not start up automatically.
# One must do `make reconfigure' explicitedly to start the process.
# (When srcdir is used and if more than one machines are running,
# this automatic Makefile/autoconf can get things unstable.)
#
#STAMP1=$(top_builddir)/config/stamp1
#STAMP2=$(top_builddir)/config/stamp2

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

#$(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

# Automake supplies a rule to generate configure

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

# rerun the autoconf process if any configure components have changed. 
#reconfigure: $(MAKEFILE_PARTS) $(STAMP2)
#	-cd $(top_builddir); CONFIG_HEADERS= ./config.status
#	@for sub in @subdirs@ dummy; do                                 \
#	  if test $$sub != dummy; then                                  \
#	    -cd $$sub; $(MAKE) reconfigure;                             \
#	  fi;                                                           \
#	done;

#-----------------------------------------------------------------------------
# The following section of this makefile comes from the middle of
# `Makefile.am' from this directory.
# It was generated by running automake on `Makefile.am' to create
# `Makefile.in', then running `config.status' to create this Makefile.
#-----------------------------------------------------------------------------

# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.
build-lib: $(LIB)
build-progs: $(LIB) $(PROGS)
build-tests: $(LIB) $(PROGS) $(TESTS)

lib progs tests ::
	@$(MAKE) build-$@ || exit 1;                                          \
	for d in X $(SUBDIRS); do                                             \
	    if test $$d != X -a $$d != .; then                                \
	        (set -x; cd $$d && $(MAKE) $@) || exit 1;                     \
	    fi;                                                               \
	done

# Tell Automake to build tests when the user types `make all' (this is
# not its default behavior).  Also build EXTRA_LIB and EXTRA_PROG since
# Automake won't build them automatically, either.
all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)

# make install-doc doesn't do anything outside of doc directory, but
# Makefiles should recognize it.
install-doc uninstall-doc:
	@echo "Nothing to be done."

# Run each test in order, passing $(TEST_FLAGS) to the program.
# Since tests are done in a shell loop, "make -i" does apply inside it.
# Set HDF5_Make_Ignore to a non-blank string to ignore errors inside the loop.
# The timestamps give a rough idea how much time the tests use.
#
# Note that targets in TESTS (defined above) will be built when the user
# types 'make tests' or 'make check', but only programs in TEST_PROG,
# TEST_PROG_PARA, or TEST_SCRIPT will actually be executed.
check-TESTS: test

test _test: $(PROGS) $(TESTS)
	@if test -n "$(TEST_PROG)$(TEST_PROG_PARA)$(TEST_SCRIPT)"; then      \
	   echo "===Tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
        fi
	@for test in $(TEST_PROG) dummy; do                                  \
	   if test $$test != dummy; then                                      \
	      echo "============================";                            \
	      if test "X$(HDF_FORTRAN)" = "Xyes"; then                        \
	         echo "Fortran API: Testing $$test $(TEST_FLAGS)";            \
	      elif test "X$(HDF_CXX)" = "Xyes"; then                          \
	         echo "C++ API: Testing $$test $(TEST_FLAGS)";                \
	      else                                                            \
	         echo "Testing $$test $(TEST_FLAGS)";                         \
	      fi;                                                             \
	      echo "============================";                            \
	      srcdir="$(srcdir)"                                              \
	         $(RUNTEST) ./$$test $(TEST_FLAGS) ||                         \
	         (test $$HDF5_Make_Ignore && echo "*** Error ignored") ||     \
	         break;                                                       \
	      echo "";                                                        \
	   fi;                                                                \
	done;                                                                 \
	test $$test = dummy || false
	@if test -n "$(TEST_PROG_PARA)"; then                                \
	    echo "**** Hint ****";                                            \
	    echo "Parallel test files reside in the current directory"        \
	         "by default.";                                               \
	    echo "Set HDF5_PARAPREFIX to use another directory. E.g.,";       \
	    echo "    HDF5_PARAPREFIX=/PFS/user/me";                          \
	    echo "    export HDF5_PARAPREFIX";                                \
	    echo "    make check";                                            \
	    echo "**** end of Hint ****";                                     \
	fi
	@for test in $(TEST_PROG_PARA) dummy; do                             \
	   if test $$test != dummy; then                                      \
	      echo "============================";                            \
	      if test "X$(HDF_FORTRAN)" = "Xyes"; then                        \
	         echo "Fortran API: Testing $$test $(TEST_FLAGS)";            \
	      elif test "X$(HDF_CXX)" = "Xyes"; then                          \
	         echo "C++ API: Testing $$test $(TEST_FLAGS)";                \
	      else                                                            \
	         echo "Testing $$test $(TEST_FLAGS)";                         \
	      fi;                                                             \
	      echo "============================";                            \
	      srcdir="$(srcdir)"                                              \
	         $(RUNPARALLEL) ./$$test $(TEST_FLAGS) ||                     \
	         (test $$HDF5_Make_Ignore && echo "*** Error ignored") ||     \
	         break;                                                       \
	      echo "";                                                        \
	   fi;                                                                \
	done;                                                                 \
	test $$test = dummy || false
	@for test in $(TEST_SCRIPT) dummy; do                                \
	   if test $$test != dummy; then                                      \
	      echo "============================";                            \
	      if test "X$(HDF_FORTRAN)" = "Xyes"; then                        \
	         echo "Fortran API: Testing $$test $(TEST_FLAGS)";            \
	      elif test "X$(HDF_CXX)" = "Xyes"; then                          \
	         echo "C++ API: Testing $$test $(TEST_FLAGS)";                \
	      else                                                            \
	         echo "Testing $$test $(TEST_FLAGS)";                         \
	      fi;                                                             \
	      echo "============================";                            \
	      RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)"           \
	         srcdir="$(srcdir)"                                           \
	         /bin/sh $$test $(TEST_FLAGS) ||                              \
	         (test $$HDF5_Make_Ignore && echo "*** Error ignored") ||     \
	         break;                                                       \
	      echo "";                                                        \
	  fi;                                                                 \
	done;                                                                 \
	test $$test = dummy || false
	@if test -n "$(TEST_PROG)$(TEST_PROG_PARA)$(TEST_SCRIPT)"; then      \
	    echo "===Tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
	fi

# Run test with different Virtual File Driver
check-vfd:
	@for vfd in $(VFD_LIST) dummy; do                                     \
	    if test $$vfd != dummy; then                                      \
	        echo "============================";                          \
	        echo "Testing Virtual File Driver $$vfd";                     \
	        echo "============================";                          \
	        HDF5_DRIVER=$$vfd $(MAKE) check;                              \
	    fi;                                                               \
	done
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: