summaryrefslogtreecommitdiffstats
path: root/fortran/Makefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'fortran/Makefile.in')
-rw-r--r--fortran/Makefile.in803
1 files changed, 683 insertions, 120 deletions
diff --git a/fortran/Makefile.in b/fortran/Makefile.in
index 477763a..79efa93 100644
--- a/fortran/Makefile.in
+++ b/fortran/Makefile.in
@@ -1,135 +1,698 @@
-##
-## 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.
-##
-## This makefile mostly just reinvokes make in the various subdirectories
-## but does so in the correct order. You can alternatively invoke make from
-## each subdirectory manually.
-##
-## Top-level HDF5-Fortran Makefile(.in)
-##
-top_srcdir=@top_srcdir@
-top_builddir=..
-srcdir=@srcdir@
-
-@COMMENCE@
-
-# Subdirectories in build-order (not including `examples')
-SUBDIRS=src test @TESTPARALLEL@
-
-##############################################################################
-## T A R G E T S
-##
-## all: Build libraries, header files, tests, and programs in the
-## various subdirectories but does not run tests or install the
-## library, header files, or programs. The components can be
-## built individually with the targets lib, progs, and tests.
-##
-## check: Test the uninstalled library to make sure it works. You may
-## also say `test' or `_test' (`test' doesn't work from the top
-## level directory for some versions of make because `test' is
-## also a directory).
-##
-## install: Installs libraries, header files, programs, and documentation
-## in the various directories under the prefix directory (lib,
-## include, bin, man, info). Use the `--prefix=PATH' option
-## to `configure' (or `config.status') or say `--help' for
-## other alternatives. The default prefix is `/usr/local'.
-##
-## uninstall: Delete all the installed files that the `install' target
-## created (but not the noninstalled files such as `make all'
-## created).
-##
-## clean: Removes temporary files except those that record the
-## configuration and those that are part of the distribution.
-##
-## mostlyclean: Like `clean' except it doesn't delete a few files like
-## libraries, programs, and/or generated header files because
-## regenerating them is rarely necessary and takes a lot of time.
-##
-## distclean: Deletes all files that are created by configuring or building
-## HDF5. If you have unpacked the source and built HDF5 without
-## creating any other files, then `make distclean' will leave
-## only the files that were in the distrubution.
-##
-## maintainer-clean:
-## Like `distclean' except it deletes more files. It deletes
-## all generated files. This target is not intended for normal
-## users; it deletes files that may require special tools to
-## rebuild.
-##
-## TAGS: Updates the tags table for this program.
-##
-## dep depend: Builds dependencies in all subdirectories. These targets
-## might not be available on certain combinations of make
-## programs and C compilers. At the other extreme, the GNU
-## make used in combination with gcc will maintain dependency
-## information automatically.
-lib progs check test _test uninstall:
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
- done
+# 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.
+#
+# This makefile mostly just reinvokes make in the various subdirectories
+# but does so in the correct order. You can alternatively invoke make from
+# each subdirectory manually.
+#
+# Top-level HDF5-Fortran 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@
+
+@BUILD_PARALLEL_CONDITIONAL_TRUE@TESTPARALLEL_DIR = testpar
+
+# Subdirectories in build order, not including examples directory
+SUBDIRS = src test $(TESTPARALLEL_DIR)
+# All directories that have Makefiles
+DIST_SUBDIRS = src test testpar examples
+
+# 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)
-tests TAGS dep depend:
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
+PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
+ $(EXTRA_PROG)
+
+TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
+subdir = fortran
+mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+
+RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
+ uninstall-info-recursive all-recursive install-data-recursive \
+ install-exec-recursive installdirs-recursive install-recursive \
+ uninstall-recursive check-recursive installcheck-recursive
+DIST_COMMON = Makefile.am Makefile.in
+all: all-recursive
+
+.SUFFIXES:
+$(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 fortran/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
-install-all:
- @$(MAKE) install
+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
-install:
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ 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
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" \
+ distdir=../$(distdir)/$$subdir \
+ distdir) \
+ || exit 1; \
+ fi; \
done
- @$(MAKE) install-examples
- @$(LT) --mode=finish $(libdir)
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-recursive
+all-am: Makefile all-local
+installdirs: installdirs-recursive
+installdirs-am:
-install-examples:
- (cd examples && $(MAKE) $@) || exit 1;
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+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:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
-uninstall-examples:
+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-recursive
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-recursive
+
+distclean-am: clean-am distclean-generic distclean-libtool \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am: installcheck-local
+
+maintainer-clean: maintainer-clean-recursive
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool \
+ mostlyclean-local
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am all-local check \
+ check-TESTS check-am clean clean-generic clean-libtool \
+ clean-local clean-recursive distclean distclean-generic \
+ distclean-libtool distclean-recursive distclean-tags distdir \
+ dvi dvi-am dvi-recursive info info-am info-recursive install \
+ install-am install-data install-data-am install-data-recursive \
+ install-exec install-exec-am install-exec-recursive \
+ install-info install-info-am install-info-recursive install-man \
+ install-recursive install-strip installcheck installcheck-am \
+ installcheck-local installdirs installdirs-am \
+ installdirs-recursive maintainer-clean maintainer-clean-generic \
+ maintainer-clean-recursive mostlyclean mostlyclean-generic \
+ mostlyclean-libtool mostlyclean-local mostlyclean-recursive \
+ tags tags-recursive uninstall uninstall-am uninstall-info-am \
+ uninstall-info-recursive uninstall-recursive
+
+
+# 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.
+#-----------------------------------------------------------------------------
+
+# Clean and mostlyclean need to recurse into examples directory
+clean-local:
+ if test -f examples/Makefile; then \
+ (cd examples && $(MAKE) clean) || exit 1; \
+ fi;
+mostlyclean-local:
+ if test -f examples/Makefile; then \
+ (cd examples && $(MAKE) mostlyclean) || exit 1; \
+ fi;
+
+# Install examples
+install-examples uninstall-examples:
(cd examples && $(MAKE) $@) || exit 1;
-## Check if installation is correct by checking if examples can be built.
-## This requires a proper "make install" has been done.
+# Check that examples can be successfully built
check-install:
- (cd examples && $(MAKE) check) || exit 1
+ $(MAKE) installcheck
-.PHONY: all lib progs test _test install uninstall dep depend clean \
- mostlyclean distclean maintainer-clean
+installcheck-local:
+ (cd examples && $(MAKE) $@) || exit 1;
-clean mostlyclean:
- @@SETX@; for d in $(SUBDIRS) examples; do \
- (cd $$d && $(MAKE) $@); \
- done
- -$(RM) conftest conftest.c
+# 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)
-distclean:
- @@SETX@; for d in $(SUBDIRS) examples; do \
- (cd $$d && $(MAKE) $@); \
- done
- -$(RM) config/commence config/conclude
- -$(RM) config/stamp1 config/stamp2 config/depend?
- -$(RM) config.cache config.log config.status
- -$(RM) src/H5config_fortran.h src/H5pubconf_fortran.h
- -$(RM) libtool Makefile
-
-maintainer-clean:
- @echo "This target is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
- @@SETX@; for d in $(SUBDIRS) examples; do \
- (cd $$d && $(MAKE) $@); \
+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
- -$(RM) config.cache config.log config.status src/H5config_fortran.h
- -$(RM) configure src/H5config_fortran.h.in
+# 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: