mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-17 16:10:24 +08:00
[svn-r11095] Purpose:
Configuration feature Description: Serial test output is now stored in log files and printed when all tests in a directory complete, or when a test fails. This should make test output more readable and useful. Also made changes to clean up ii_files directories that are created by some C++ compilers/linkers. Also fixed a few minor Makefile bugs. Solution: When serial tests run, their output is saved in *.log or *.logsh. While running, tests only print when they begin and when they complete; their more specific output (from the log file) is printed if the test fails or when all tests have completed. Comments welcome. Platforms tested: mir, modi4 (parallel and serial), copper, shanti
This commit is contained in:
parent
bb31e94a92
commit
7236935a9d
10
Makefile.am
10
Makefile.am
@ -113,12 +113,17 @@ clean-local:
|
||||
fi; \
|
||||
done
|
||||
|
||||
# Some C++ compilers/linkers will create a directory named ii_files in
|
||||
# the root directory, which should be cleaned.
|
||||
mostlyclean-local:
|
||||
@@SETX@; for d in examples perform; do \
|
||||
if test -f $$d/Makefile; then \
|
||||
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) mostlyclean) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
done; \
|
||||
if test -d ii_files; then \
|
||||
$(RM) -rf ii_files; \
|
||||
fi
|
||||
|
||||
# 'make install-all' also installs examples
|
||||
install-all:
|
||||
@ -143,9 +148,6 @@ uninstall-doc:
|
||||
|
||||
# `make check-install' or `make installcheck' checks that examples can
|
||||
# be successfully built
|
||||
check-install:
|
||||
$(MAKE) $(AM_MAKEFLAGS) installcheck
|
||||
|
||||
installcheck-local:
|
||||
(cd examples && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1;
|
||||
|
||||
|
27
Makefile.in
27
Makefile.in
@ -311,7 +311,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
@BUILD_PARALLEL_CONDITIONAL_FALSE@TESTPARALLEL_DIR =
|
||||
|
||||
# Define subdirectories to build.
|
||||
@ -758,6 +767,12 @@ uninstall-info: uninstall-info-recursive
|
||||
uninstall-info-am uninstall-local
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# Define rules for lib, progs, check, and tests.
|
||||
# These simply involve recursing into subdirectories.
|
||||
test _test: check
|
||||
@ -793,12 +808,17 @@ clean-local:
|
||||
fi; \
|
||||
done
|
||||
|
||||
# Some C++ compilers/linkers will create a directory named ii_files in
|
||||
# the root directory, which should be cleaned.
|
||||
mostlyclean-local:
|
||||
@@SETX@; for d in examples perform; do \
|
||||
if test -f $$d/Makefile; then \
|
||||
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) mostlyclean) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
done; \
|
||||
if test -d ii_files; then \
|
||||
$(RM) -rf ii_files; \
|
||||
fi
|
||||
|
||||
# 'make install-all' also installs examples
|
||||
install-all:
|
||||
@ -823,9 +843,6 @@ uninstall-doc:
|
||||
|
||||
# `make check-install' or `make installcheck' checks that examples can
|
||||
# be successfully built
|
||||
check-install:
|
||||
$(MAKE) $(AM_MAKEFLAGS) installcheck
|
||||
|
||||
installcheck-local:
|
||||
(cd examples && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1;
|
||||
|
||||
|
@ -281,7 +281,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
@BUILD_CXX_CONDITIONAL_TRUE@SUBDIRS = src test
|
||||
DIST_SUBDIRS = src test examples
|
||||
|
||||
@ -615,6 +624,12 @@ uninstall-info: uninstall-info-recursive
|
||||
tags tags-recursive uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# Clean and mostlyclean need to recurse into examples directory
|
||||
clean-local:
|
||||
if test -f examples/Makefile; then \
|
||||
@ -638,14 +653,16 @@ installcheck-local:
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -657,6 +674,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -685,8 +704,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -694,26 +720,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -721,21 +753,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -273,11 +273,19 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
|
||||
# These are the files that 'make clean' (and derivatives) will remove from this
|
||||
# directory. Since automake doesn't know about the examples, we need to
|
||||
# tell it to clean the example programs, too.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh *.h5 $(EXTRA_PROG:=.o)
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh) *.h5 $(EXTRA_PROG:=.o)
|
||||
|
||||
# Use h5c++ to build examples, instead of reguar C++ compiler
|
||||
H5CPP = $(bindir)/h5c++
|
||||
@ -484,6 +492,12 @@ uninstall-am: uninstall-info-am uninstall-local
|
||||
uninstall uninstall-am uninstall-info-am uninstall-local
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# Some of the examples depend on files created by running other examples
|
||||
readdata.chkexe_: create.chkexe_
|
||||
chunks.chkexe_: extend_ds.chkexe_
|
||||
@ -533,14 +547,16 @@ h5group: $(srcdir)/h5group.cpp
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -552,6 +568,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -580,8 +598,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -589,26 +614,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -616,21 +647,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -53,6 +53,14 @@ include_HEADERS=H5Cpp.h H5AbstractDs.h H5AtomType.h H5Attribute.h H5Classes.h
|
||||
# distclean.
|
||||
DISTCLEANFILES=h5c++ libhdf5.settings
|
||||
|
||||
# Some C++ compilers/linkers (PGI?) create a directory named "ii_files" that
|
||||
# holds *.ii files, which are template entity instantiations.
|
||||
# This entire directory should be cleaned.
|
||||
mostlyclean-local:
|
||||
if test -d ii_files; then \
|
||||
$(RM) -rf ii_files; \
|
||||
fi
|
||||
|
||||
# Mark this directory as part of the C++ API
|
||||
HDF_CXX=yes
|
||||
|
||||
|
@ -315,7 +315,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
|
||||
# Include src directory
|
||||
INCLUDES = -I$(top_srcdir)/src
|
||||
@ -685,7 +694,7 @@ maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
mostlyclean-libtool mostlyclean-local
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
@ -708,22 +717,38 @@ uninstall-am: uninstall-binSCRIPTS uninstall-includeHEADERS \
|
||||
install-libLTLIBRARIES install-man install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags uninstall uninstall-am uninstall-binSCRIPTS \
|
||||
uninstall-includeHEADERS uninstall-info-am \
|
||||
uninstall-libLTLIBRARIES
|
||||
mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \
|
||||
pdf-am ps ps-am tags uninstall uninstall-am \
|
||||
uninstall-binSCRIPTS uninstall-includeHEADERS \
|
||||
uninstall-info-am uninstall-libLTLIBRARIES
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# Some C++ compilers/linkers (PGI?) create a directory named "ii_files" that
|
||||
# holds *.ii files, which are template entity instantiations.
|
||||
# This entire directory should be cleaned.
|
||||
mostlyclean-local:
|
||||
if test -d ii_files; then \
|
||||
$(RM) -rf ii_files; \
|
||||
fi
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -735,6 +760,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -763,8 +790,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -772,26 +806,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -799,21 +839,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -39,4 +39,12 @@ testhdf5_SOURCES=testhdf5.cpp tattr.cpp tfile.cpp th5s.cpp h5cpputil.cpp
|
||||
# Tell conclude.am that these are C++ tests.
|
||||
HDF_CXX=yes
|
||||
|
||||
# Some C++ compilers/linkers (PGI?) create a directory named "ii_files" that
|
||||
# holds *.ii files, which are template entity instantiations.
|
||||
# This entire directory should be cleaned.
|
||||
mostlyclean-local:
|
||||
if test -d ii_files; then \
|
||||
$(RM) -rf ii_files; \
|
||||
fi
|
||||
|
||||
include $(top_srcdir)/config/conclude.am
|
||||
|
@ -304,7 +304,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
|
||||
# Include src, test, and c++/src directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/c++/src
|
||||
@ -577,7 +586,7 @@ maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
mostlyclean-libtool mostlyclean-local
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
@ -598,20 +607,36 @@ uninstall-am: uninstall-info-am
|
||||
install-info-am install-man install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags uninstall uninstall-am uninstall-info-am
|
||||
mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \
|
||||
pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# Some C++ compilers/linkers (PGI?) create a directory named "ii_files" that
|
||||
# holds *.ii files, which are template entity instantiations.
|
||||
# This entire directory should be cleaned.
|
||||
mostlyclean-local:
|
||||
if test -d ii_files; then \
|
||||
$(RM) -rf ii_files; \
|
||||
fi
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -623,6 +648,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -651,8 +678,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -660,26 +694,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -687,21 +727,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -54,4 +54,18 @@ AUTOMAKE=/afs/ncsa/projects/hdf/packages/automake_1.9.5/Linux_2.4/bin/automake
|
||||
AUTOCONF=/afs/ncsa/projects/hdf/packages/autoconf_2.59/Linux_2.4/bin/autoconf
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES=*.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES=$(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
@ -16,14 +16,16 @@ TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -35,6 +37,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -68,8 +72,16 @@ TEST_SCRIPT_CHKSH=$(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH=$(TEST_SCRIPT_PARA:=.chksh_)
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -77,26 +89,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -104,21 +122,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -273,9 +273,18 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
|
||||
# We need to tell automake what to clean
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh *.h5 *.raw *.meta *.clog *.o
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh) *.h5 *.raw *.meta *.clog \
|
||||
*.o
|
||||
@BUILD_PARALLEL_CONDITIONAL_TRUE@TEST_PROG_PARA = ph5example
|
||||
|
||||
# Example programs.
|
||||
@ -489,6 +498,12 @@ uninstall-am: uninstall-info-am uninstall-local
|
||||
uninstall uninstall-am uninstall-info-am uninstall-local
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# Additional dependencies for each program are listed below.
|
||||
$(EXTRA_PROG): $(LIBHDF5)
|
||||
@BUILD_PARALLEL_CONDITIONAL_TRUE@ $(H5CC_PP) $(CFLAGS) -o $@ $(srcdir)/$@.c;
|
||||
@ -547,14 +562,16 @@ h5_dtransform: $(srcdir)/h5_dtransform.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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -566,6 +583,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -594,8 +613,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -603,26 +629,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -630,21 +662,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -285,7 +285,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
@BUILD_PARALLEL_CONDITIONAL_TRUE@TESTPARALLEL_DIR = testpar
|
||||
|
||||
# Subdirectories in build order, not including examples directory
|
||||
@ -624,6 +633,12 @@ uninstall-info: uninstall-info-recursive
|
||||
tags tags-recursive uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# Clean and mostlyclean need to recurse into examples directory
|
||||
clean-local:
|
||||
if test -f examples/Makefile; then \
|
||||
@ -647,14 +662,16 @@ installcheck-local:
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -666,6 +683,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -694,8 +713,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -703,26 +729,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -730,21 +762,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -273,9 +273,17 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
|
||||
# Tell automake which files to clean
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh $(EXTRA_PROG:=.o)
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh) $(EXTRA_PROG:=.o)
|
||||
|
||||
# Compile parallel fortran examples only if parallel is enabled
|
||||
@BUILD_PARALLEL_CONDITIONAL_TRUE@TEST_PROG_PARA = ph5example
|
||||
@ -490,6 +498,12 @@ uninstall-am: uninstall-info-am uninstall-local
|
||||
uninstall uninstall-am uninstall-info-am uninstall-local
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# Some examples depend on files created by other examples.
|
||||
grpdsetexample.chkexe_: grpsexample.chkexe_
|
||||
refregexample.chkexe_: refobjexample.chkexe_
|
||||
@ -555,14 +569,16 @@ ph5example: ph5example.f90
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -574,6 +590,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -602,8 +620,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -611,26 +636,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -638,21 +669,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -20,9 +20,9 @@
|
||||
include $(top_srcdir)/config/commence.am
|
||||
|
||||
# Include src directory in both Fortran and C flags (C compiler is used
|
||||
# for linking)
|
||||
# for linking).
|
||||
INCLUDES = -I$(top_srcdir)/src
|
||||
AM_FCFLAGS=-I$(top_srcdir)/src
|
||||
AM_FCFLAGS=-I$(top_srcdir)/src -I$(top_srcdir)/src/fortran
|
||||
|
||||
AM_FCLIBS=$(LIBHDF5)
|
||||
|
||||
@ -124,11 +124,6 @@ H5fortran_types.f90 H5f90i_gen.h: H5match_types.c H5fort_type_defines.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) H5match_types$(EXEEXT)
|
||||
$(RUNSERIAL) ./H5match_types$(EXEEXT)
|
||||
|
||||
|
||||
# JAMES: does it need to work like this? $(MAKE) $(AM_MAKEFLAGS) H5fort_type_defines.h
|
||||
# JAMES $(MAKE) $(AM_MAKEFLAGS) H5match_types$(EXEEXT)
|
||||
# JAMES $(RUNSERIAL) ./H5match_types$(EXEEXT)
|
||||
|
||||
# H5fort_type_defines.h is created by running H5fortran_detect.
|
||||
# Obviously, H5fortran_detect needs to be built first.
|
||||
H5fort_type_defines.h: H5fortran_detect$(EXEEXT)
|
||||
|
@ -340,17 +340,25 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
|
||||
# H5fortran_types.f90 and H5f90i.h are automatically generaed by
|
||||
# H5match_types, and must be cleaned explicitly. H5fort_type_defines.h
|
||||
# is generated by H5fortran_detect
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh H5fortran_types.f90 H5f90i_gen.h \
|
||||
H5fort_type_defines.h H5fortran_detect.f90
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh) H5fortran_types.f90 \
|
||||
H5f90i_gen.h H5fort_type_defines.h H5fortran_detect.f90
|
||||
|
||||
# Include src directory in both Fortran and C flags (C compiler is used
|
||||
# for linking)
|
||||
# for linking).
|
||||
INCLUDES = -I$(top_srcdir)/src
|
||||
AM_FCFLAGS = -I$(top_srcdir)/src
|
||||
AM_FCFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/src/fortran
|
||||
AM_FCLIBS = $(LIBHDF5)
|
||||
|
||||
# Fortran libraries are linked statically to solve a build problem.
|
||||
@ -765,6 +773,12 @@ uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
|
||||
uninstall-settingsDATA
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# Fortran module files can have different extensions and different names
|
||||
# (e.g., different capitalizations) on different platforms. Write rules
|
||||
# for them explicitly rather than trying to teach automake about them.
|
||||
@ -800,10 +814,6 @@ H5fortran_types.f90 H5f90i_gen.h: H5match_types.c H5fort_type_defines.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) H5match_types$(EXEEXT)
|
||||
$(RUNSERIAL) ./H5match_types$(EXEEXT)
|
||||
|
||||
# JAMES: does it need to work like this? $(MAKE) $(AM_MAKEFLAGS) H5fort_type_defines.h
|
||||
# JAMES $(MAKE) $(AM_MAKEFLAGS) H5match_types$(EXEEXT)
|
||||
# JAMES $(RUNSERIAL) ./H5match_types$(EXEEXT)
|
||||
|
||||
# H5fort_type_defines.h is created by running H5fortran_detect.
|
||||
# Obviously, H5fortran_detect needs to be built first.
|
||||
H5fort_type_defines.h: H5fortran_detect$(EXEEXT)
|
||||
@ -844,14 +854,16 @@ HDF5mpio.lo: $(srcdir)/H5FDmpioff.f90 H5f90global.lo H5Aff.lo \
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -863,6 +875,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -891,8 +905,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -900,26 +921,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -927,21 +954,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -342,9 +342,17 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
|
||||
# Temporary files
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh *.h5 *.tmp
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh) *.h5 *.tmp
|
||||
|
||||
# Include files
|
||||
AM_FCFLAGS = -I$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/src
|
||||
@ -807,16 +815,24 @@ uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES
|
||||
uninstall-am uninstall-info-am uninstall-libLTLIBRARIES
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -828,6 +844,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -856,8 +874,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -865,26 +890,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -892,21 +923,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -297,7 +297,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
|
||||
# Include files
|
||||
AM_FCFLAGS = -I$(top_srcdir)/fortran/src -I$(top_srcdir)/fortran/test $(F9XMODFLAG)$(top_builddir)/fortran/src
|
||||
@ -575,16 +584,24 @@ uninstall-am: uninstall-info-am
|
||||
tags uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -596,6 +613,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -624,8 +643,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -633,26 +659,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -660,21 +692,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -277,7 +277,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
@BUILD_FORTRAN_CONDITIONAL_TRUE@FORTRAN_DIR = fortran
|
||||
@BUILD_CXX_CONDITIONAL_TRUE@CXX_DIR = c++
|
||||
@BUILD_HDF5_HL_CONDITIONAL_TRUE@SUBDIRS = src test $(CXX_DIR) $(FORTRAN_DIR)
|
||||
@ -610,16 +619,24 @@ uninstall-info: uninstall-info-recursive
|
||||
tags tags-recursive uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -631,6 +648,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -659,8 +678,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -668,26 +694,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -695,21 +727,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -282,7 +282,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
SUBDIRS = src test
|
||||
|
||||
# Automake needs to be taught how to build lib, progs, and tests targets.
|
||||
@ -613,16 +622,24 @@ uninstall-info: uninstall-info-recursive
|
||||
tags tags-recursive uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -634,6 +651,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -662,8 +681,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -671,26 +697,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -698,21 +730,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -304,7 +304,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
|
||||
# Include src directory
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/hl/src
|
||||
@ -635,16 +644,24 @@ uninstall-am: uninstall-includeHEADERS uninstall-info-am \
|
||||
uninstall-info-am uninstall-libLTLIBRARIES
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -656,6 +673,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -684,8 +703,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -693,26 +719,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -720,21 +752,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -298,7 +298,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
|
||||
# Include directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/hl/src -I$(top_srcdir)/hl/c++/src -I$(top_srcdir)/test
|
||||
@ -584,16 +593,24 @@ uninstall-am: uninstall-info-am
|
||||
tags uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -605,6 +622,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -633,8 +652,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -642,26 +668,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -669,21 +701,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -277,7 +277,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
SUBDIRS = src test
|
||||
|
||||
# Automake needs to be taught how to build lib, progs, and tests targets.
|
||||
@ -608,16 +617,24 @@ uninstall-info: uninstall-info-recursive
|
||||
tags tags-recursive uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -629,6 +646,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -657,8 +676,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -666,26 +692,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -693,21 +725,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -298,7 +298,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/hl/src -I$(top_builddir)/hl/src \
|
||||
-I$(top_srcdir)/fortran/src -I$(top_builddir)/fortran/src
|
||||
|
||||
@ -626,6 +635,12 @@ uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
|
||||
uninstall-libLTLIBRARIES uninstall-local
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
#libhdf5hl_fortran_la_LIBADD=$(LIBH5_HL)
|
||||
|
||||
# Fortran module files can have different extensions and different names
|
||||
@ -661,14 +676,16 @@ H5TBff.lo: $(srcdir)/H5TBff.f90
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -680,6 +697,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -708,8 +727,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -717,26 +743,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -744,21 +776,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -297,9 +297,18 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
|
||||
# Temporary files.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh dsetf[1-4].h5 f1img.h5 f1tab.h5
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh) dsetf[1-4].h5 f1img.h5 \
|
||||
f1tab.h5
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_builddir)/src -I$(top_srcdir)/hl/src
|
||||
AM_FCFLAGS = -I$(top_builddir)/fortran/src -I$(top_builddir)/hl/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/hl/fortran/src
|
||||
|
||||
@ -575,16 +584,24 @@ uninstall-am: uninstall-info-am
|
||||
tags uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -596,6 +613,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -624,8 +643,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -633,26 +659,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -660,21 +692,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -295,7 +295,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
|
||||
# Add include directories to the C preprocessor flags
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/src
|
||||
@ -623,16 +632,24 @@ uninstall-am: uninstall-includeHEADERS uninstall-info-am \
|
||||
uninstall-info-am uninstall-libLTLIBRARIES
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -644,6 +661,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -672,8 +691,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -681,26 +707,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -708,21 +740,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -307,9 +307,17 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
|
||||
# Temporary files. These files are the ones created by running `make test'.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh combine_tables[1-2].h5 \
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh) combine_tables[1-2].h5 \
|
||||
test_ds[1-6].h5 test_image[1-3].h5 test_lite[1-2].h5 \
|
||||
test_table.h5 test_packet_table.h5
|
||||
|
||||
@ -609,16 +617,24 @@ uninstall-am: uninstall-info-am
|
||||
tags uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -630,6 +646,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -658,8 +676,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -667,26 +692,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -694,21 +725,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -305,7 +305,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
|
||||
# Include src and tools/lib directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
|
||||
@ -618,16 +627,24 @@ uninstall-am: uninstall-binPROGRAMS uninstall-info-am
|
||||
uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -639,6 +656,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -667,8 +686,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -676,26 +702,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -703,21 +735,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -326,7 +326,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/tools/lib
|
||||
@BUILD_PARALLEL_CONDITIONAL_TRUE@TEST_PROG_PARA = h5perf
|
||||
|
||||
@ -677,16 +686,24 @@ uninstall-am: uninstall-binPROGRAMS uninstall-info-am
|
||||
uninstall-binPROGRAMS uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -698,6 +715,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -726,8 +745,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -735,26 +761,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -762,21 +794,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -340,10 +340,18 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
|
||||
# Temporary files
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh H5detect.o H5detect.lo H5detect \
|
||||
H5Tinit.o H5Tinit.lo H5Tinit.c
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh) H5detect.o H5detect.lo \
|
||||
H5detect H5Tinit.o H5Tinit.lo H5Tinit.c
|
||||
|
||||
# Add libtool shared library version numbers to the HDF5 library
|
||||
# See libtool versioning documentation online.
|
||||
@ -915,6 +923,12 @@ uninstall-am: uninstall-includeHEADERS uninstall-info-am \
|
||||
uninstall-settingsDATA
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# Error header generation
|
||||
#
|
||||
# Actually, H5Einit.h, H5Eterm.h, H5Edefin.h and H5Epubgen.h all
|
||||
@ -937,14 +951,16 @@ H5Tinit.c: H5detect
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -956,6 +972,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -984,8 +1002,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -993,26 +1018,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -1020,21 +1051,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -29,7 +29,9 @@ check_SCRIPTS = $(TEST_SCRIPT)
|
||||
|
||||
# These are our main targets. They should be listed in the order to be
|
||||
# executed, generally most specific tests to least specific tests.
|
||||
TEST_PROG=testhdf5 lheap ohdr stab gheap cache b+tree btree2 blocktrack sheap \
|
||||
# As an exception, long-running tests should occur earlier in the list.
|
||||
# This gives them more time to run when tests are executing in parallel.
|
||||
TEST_PROG=testhdf5 lheap ohdr stab gheap btree2 cache b+tree blocktrack sheap \
|
||||
pool hyperslab istore bittests dt_arith \
|
||||
dtypes dsets cmpd_dset extend external links unlink big mtime \
|
||||
fillval mount flush1 flush2 enum \
|
||||
|
@ -71,8 +71,8 @@ libh5test_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
|
||||
am_libh5test_la_OBJECTS = h5test.lo testframe.lo
|
||||
libh5test_la_OBJECTS = $(am_libh5test_la_OBJECTS)
|
||||
am__EXEEXT_1 = testhdf5$(EXEEXT) lheap$(EXEEXT) ohdr$(EXEEXT) \
|
||||
stab$(EXEEXT) gheap$(EXEEXT) cache$(EXEEXT) b+tree$(EXEEXT) \
|
||||
btree2$(EXEEXT) blocktrack$(EXEEXT) sheap$(EXEEXT) \
|
||||
stab$(EXEEXT) gheap$(EXEEXT) btree2$(EXEEXT) cache$(EXEEXT) \
|
||||
b+tree$(EXEEXT) blocktrack$(EXEEXT) sheap$(EXEEXT) \
|
||||
pool$(EXEEXT) hyperslab$(EXEEXT) istore$(EXEEXT) \
|
||||
bittests$(EXEEXT) dt_arith$(EXEEXT) dtypes$(EXEEXT) \
|
||||
dsets$(EXEEXT) cmpd_dset$(EXEEXT) extend$(EXEEXT) \
|
||||
@ -493,22 +493,31 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
|
||||
# Temporary files. These files are the ones created by setting the
|
||||
# HDF5_NOCLEANUP environment variable and running `make test' without
|
||||
# specifying a file prefix or low-level driver. Changing the file
|
||||
# prefix or low-level driver with environment variables will influence
|
||||
# the temporary file name in ways that the makefile is not aware of.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh cmpd_dset.h5 compact_dataset.h5 \
|
||||
dataset.h5 extend.h5 istore.h5 tfile[1-4].h5 th5s[1-3].h5 \
|
||||
lheap.h5 ohdr.h5 stab[1-2].h5 extern_[1-3].h5 \
|
||||
extern_[1-4][ab].raw gheap[0-4].h5 dt_arith[1-2] links.h5 \
|
||||
links[1-3].h5 big.data big[0-9][0-9][0-9][0-9][0-9].h5 \
|
||||
dtypes[1-8].h5 dt_arith[1-2].h5 tattr.h5 tselect.h5 mtime.h5 \
|
||||
unlink.h5 unicode.h5 fillval_[0-9].h5 fillval.raw \
|
||||
mount_[0-9].h5 testmeta.h5 ttime.h5 trefer[1-3].h5 tvltypes.h5 \
|
||||
tvlstr.h5 tvlstr2.h5 flush.h5 enum1.h5 titerate.h5 ttsafe.h5 \
|
||||
tarray1.h5 tgenprop.h5 tmisc[0-9]*.h5 set_extent_read.h5 \
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh) cmpd_dset.h5 \
|
||||
compact_dataset.h5 dataset.h5 extend.h5 istore.h5 \
|
||||
tfile[1-4].h5 th5s[1-3].h5 lheap.h5 ohdr.h5 stab[1-2].h5 \
|
||||
extern_[1-3].h5 extern_[1-4][ab].raw gheap[0-4].h5 \
|
||||
dt_arith[1-2] links.h5 links[1-3].h5 big.data \
|
||||
big[0-9][0-9][0-9][0-9][0-9].h5 dtypes[1-8].h5 \
|
||||
dt_arith[1-2].h5 tattr.h5 tselect.h5 mtime.h5 unlink.h5 \
|
||||
unicode.h5 fillval_[0-9].h5 fillval.raw mount_[0-9].h5 \
|
||||
testmeta.h5 ttime.h5 trefer[1-3].h5 tvltypes.h5 tvlstr.h5 \
|
||||
tvlstr2.h5 flush.h5 enum1.h5 titerate.h5 ttsafe.h5 tarray1.h5 \
|
||||
tgenprop.h5 tmisc[0-9]*.h5 set_extent_read.h5 \
|
||||
set_extent_create.h5 getname.h5 getname[1-3].h5 sec2_file.h5 \
|
||||
family_file000[0-3][0-9].h5 multi_file-[rs].h5 core_file \
|
||||
new_move_[ab].h5 ntypes.h5 dangle.h5 error_test.h5 \
|
||||
@ -523,7 +532,9 @@ check_SCRIPTS = $(TEST_SCRIPT)
|
||||
|
||||
# These are our main targets. They should be listed in the order to be
|
||||
# executed, generally most specific tests to least specific tests.
|
||||
TEST_PROG = testhdf5 lheap ohdr stab gheap cache b+tree btree2 blocktrack sheap \
|
||||
# As an exception, long-running tests should occur earlier in the list.
|
||||
# This gives them more time to run when tests are executing in parallel.
|
||||
TEST_PROG = testhdf5 lheap ohdr stab gheap btree2 cache b+tree blocktrack sheap \
|
||||
pool hyperslab istore bittests dt_arith \
|
||||
dtypes dsets cmpd_dset extend external links unlink big mtime \
|
||||
fillval mount flush1 flush2 enum \
|
||||
@ -1023,6 +1034,12 @@ uninstall-am: uninstall-info-am
|
||||
tags uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# Additional target for running timing test
|
||||
timings _timings: testmeta
|
||||
@for timing in $(TIMINGS) dummy; do \
|
||||
@ -1037,14 +1054,16 @@ flush2.chkexe_: flush1.chkexe_
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -1056,6 +1075,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -1084,8 +1105,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -1093,26 +1121,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -1120,21 +1154,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -306,12 +306,20 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
|
||||
# Temporary files
|
||||
# MPItest.h5 is from t_mpi
|
||||
# Para*.h5 are from testphdf
|
||||
# *.clog are from MPE option
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh MPItest.h5 Para*.h5 *.clog
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh) MPItest.h5 Para*.h5 *.clog
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/test
|
||||
|
||||
# Test programs and scripts. These are our main targets.
|
||||
@ -614,16 +622,24 @@ uninstall-am: uninstall-info-am
|
||||
tags uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -635,6 +651,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -663,8 +681,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -672,26 +697,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -699,21 +730,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -282,7 +282,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
|
||||
# All subdirectories
|
||||
SUBDIRS = lib h5dump h5diff h5ls misc gifconv h5import h5repack h5jam
|
||||
@ -615,16 +624,24 @@ uninstall-info: uninstall-info-recursive
|
||||
tags tags-recursive uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -636,6 +653,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -664,8 +683,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -673,26 +699,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -700,21 +732,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -305,7 +305,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
|
||||
# Include src and tools/lib directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
|
||||
@ -618,16 +627,24 @@ uninstall-am: uninstall-binPROGRAMS uninstall-info-am
|
||||
uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -639,6 +656,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -667,8 +686,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -676,26 +702,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -703,21 +735,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -313,10 +313,19 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
|
||||
# Temporary files. *.h5 are generated by h5diff. They should
|
||||
# be copied to the testfiles/ directory if update is required
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh *.h5 expect_sorted actual_sorted
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh) *.h5 expect_sorted \
|
||||
actual_sorted
|
||||
|
||||
# Include src and tools/lib directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
|
||||
@ -656,16 +665,24 @@ uninstall-am: uninstall-binPROGRAMS uninstall-info-am
|
||||
uninstall-binPROGRAMS uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -677,6 +694,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -705,8 +724,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -714,26 +740,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -741,21 +773,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -306,10 +306,18 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
|
||||
# Temporary files. *.h5 are generated by h5dumpgentest. They should
|
||||
# copied to the testfiles/ directory if update is required.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh *.h5
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh) *.h5
|
||||
|
||||
# Include files in /src directory and /tools/lib directory
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
|
||||
@ -632,16 +640,24 @@ uninstall-am: uninstall-binPROGRAMS uninstall-info-am
|
||||
uninstall-binPROGRAMS uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -653,6 +669,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -681,8 +699,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -690,26 +715,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -717,21 +748,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -306,7 +306,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
|
||||
# Include src and tools/lib directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
|
||||
@ -625,16 +634,24 @@ uninstall-am: uninstall-binPROGRAMS uninstall-info-am
|
||||
uninstall-binPROGRAMS uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -646,6 +663,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -674,8 +693,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -683,26 +709,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -710,21 +742,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -301,7 +301,15 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh *.h5 *.txt
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh) *.h5 *.txt
|
||||
|
||||
#
|
||||
# Copyright by the Board of Trustees of the University of Illinois.
|
||||
@ -649,16 +657,24 @@ uninstall-am: uninstall-binPROGRAMS uninstall-info-am
|
||||
uninstall-binPROGRAMS uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -670,6 +686,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -698,8 +716,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -707,26 +732,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -734,21 +765,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -299,7 +299,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
|
||||
# Include src and tools/lib directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
|
||||
@ -605,16 +614,24 @@ uninstall-am: uninstall-binPROGRAMS uninstall-info-am
|
||||
uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -626,6 +643,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -654,8 +673,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -663,26 +689,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -690,21 +722,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -321,10 +321,18 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
|
||||
# Temporary files. *.h5 are generated by h5repack. They should
|
||||
# copied to the testfiles/ directory if update is required.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh *.h5
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh) *.h5
|
||||
|
||||
# Include src, test, and tools/lib directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/tools/lib
|
||||
@ -682,16 +690,24 @@ uninstall-am: uninstall-binPROGRAMS uninstall-info-am
|
||||
uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -703,6 +719,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -731,8 +749,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -740,26 +765,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -767,21 +798,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -303,7 +303,16 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh)
|
||||
|
||||
|
||||
# Include files in /src directory
|
||||
INCLUDES = -I$(top_srcdir)/src
|
||||
@ -622,16 +631,24 @@ uninstall-am: uninstall-info-am
|
||||
tags uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -643,6 +660,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -671,8 +690,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -680,26 +706,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -707,21 +739,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
@ -326,12 +326,20 @@ H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
# Serial tests create .log and .logsh files. It's important only to clean log
|
||||
# files generated by HDF5's tests, because the .log suffix is used for
|
||||
# other files (e.g., config.log)!
|
||||
|
||||
# Temporary files. *.h5 are generated by h5repart_gentest. They should
|
||||
# copied to the testfiles/ directory if update is required. fst_family*.h5
|
||||
# and scd_family*.h5 were created by setting the HDF5_NOCLEANUP variable.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh *.h5 ../testfiles/fst_family*.h5 \
|
||||
../testfiles/scd_family*.h5
|
||||
MOSTLYCLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_SCRIPT_PARA_CHKSH:.chksh_=.chksh) \
|
||||
$(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh) *.h5 \
|
||||
../testfiles/fst_family*.h5 ../testfiles/scd_family*.h5
|
||||
|
||||
# Include src directory
|
||||
INCLUDES = -I$(top_srcdir)/src
|
||||
@ -706,6 +714,12 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
|
||||
uninstall-local
|
||||
|
||||
|
||||
# check-install is a synonym for installcheck.
|
||||
# Add this build rule here (rather than in conclude.am, where build rules
|
||||
# normally go) because it should be included in the top-level Makefile.am
|
||||
# as well.
|
||||
check-install: installcheck
|
||||
|
||||
install-exec-local:
|
||||
$(INSTALL) h5cc $(bindir)/$(H5CC_NAME)
|
||||
uninstall-local:
|
||||
@ -717,14 +731,16 @@ h5redeploy: h5redeploy.in
|
||||
|
||||
# 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)
|
||||
# BUILT_SOURCES contain targets that need to be built before anything else
|
||||
# in the directory (e.g., Fortran type detection)
|
||||
build-lib: $(BUILT_SOURCES) $(LIB)
|
||||
build-progs: $(BUILT_SOURCES) $(LIB) $(PROGS)
|
||||
build-tests: $(BUILT_SOURCES) $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
if test $$d != X && test $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@ -736,6 +752,8 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
|
||||
|
||||
# make install-doc doesn't do anything outside of doc directory, but
|
||||
# Makefiles should recognize it.
|
||||
# UPDATE: docs no longer reside in this build tree, so this target
|
||||
# is depreciated.
|
||||
install-doc uninstall-doc:
|
||||
@echo "Nothing to be done."
|
||||
|
||||
@ -764,8 +782,15 @@ build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
@for d in dummy $(TEST_PROG_CHKEXE:.chkexe_=.log) \
|
||||
$(TEST_SCRIPT_CHKSH:.chksh_=.logsh); do \
|
||||
if test $$d != dummy && test $$d != .log && \
|
||||
test $$d != .logsh; then \
|
||||
cat `basename $$d`; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chkexe here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
||||
@ -773,26 +798,32 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
||||
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
echo "============================" > $(@:.chkexe_=.log); \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "C++ API: $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log);\
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
echo "$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) Test Log" >> $(@:.chkexe_=.log); \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) 2>&1 >> $(@:.chkexe_=.log) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat $(@:.chkexe_=.log) && false) || exit 1; \
|
||||
echo "" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)" >> $(@:.chkexe_=.log); \
|
||||
echo "============================" >> $(@:.chkexe_=.log); \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# The dummy.chksh here prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
@if test "X$@" != "X.chksh_" && test "X$@" != "Xdummy.chksh_"; then \
|
||||
@ -800,21 +831,27 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummy.chksh_:
|
||||
if $(top_srcdir)/bin/newer `basename $(@:.chksh_=.chksh)` $(@:.chksh_=); then \
|
||||
echo "No need to test `basename $(@:.chksh_=)` again."; \
|
||||
else \
|
||||
echo "============================" > `basename $(@:.chksh_=.logsh)`; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "Fortran API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "C++ API: `basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `baename $(@:.chksh_=.logsh)`; \
|
||||
else \
|
||||
echo "Testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
echo "`basename $(@:.chksh_=)` $(TEST_FLAGS) Test Log" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) \
|
||||
$(SHELL) $(@:.chksh_=) $(TEST_FLAGS) 2>&1 >> `basename $(@:.chksh_=.logsh)` \
|
||||
&& touch `basename $(@:.chksh_=.chksh)` || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
(cat `basename $(@:.chksh_=.logsh)` && false) || exit 1; \
|
||||
echo "" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "============================" >> `basename $(@:.chksh_=.logsh)`; \
|
||||
echo "Finished testing `basename $(@:.chksh_=)` $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
|
Loading…
Reference in New Issue
Block a user