summaryrefslogtreecommitdiffstats
path: root/c++
diff options
context:
space:
mode:
authorJames Laird <jlaird@hdfgroup.org>2005-08-01 22:22:55 (GMT)
committerJames Laird <jlaird@hdfgroup.org>2005-08-01 22:22:55 (GMT)
commitc63ef2cba28df827eb090a019284c7cd8c2982af (patch)
tree134ff7254d8ee7b1c6f7fa3eabc509528899d68d /c++
parentf2240792704b74fc288b4e4a570509c4afe4a34e (diff)
downloadhdf5-c63ef2cba28df827eb090a019284c7cd8c2982af.zip
hdf5-c63ef2cba28df827eb090a019284c7cd8c2982af.tar.gz
hdf5-c63ef2cba28df827eb090a019284c7cd8c2982af.tar.bz2
[svn-r11179] Purpose:
Feature: check-clean target Description: 'make check-clean' cleans up output files from tests. Solution: Tests create foo.chkexe and foo.log files. Scripts create foo.chksh and foo.logsh files. 'make check-clean' will clean these files up so that the tests can be re-run. Also suppressed some not-very-useful output of Makefiles when it would echo commands. Platforms tested: mir, sleipnir, modi4 Misc. update:
Diffstat (limited to 'c++')
-rw-r--r--c++/Makefile.am10
-rw-r--r--c++/Makefile.in27
-rw-r--r--c++/examples/Makefile.am8
-rw-r--r--c++/examples/Makefile.in30
-rw-r--r--c++/src/Makefile.am2
-rw-r--r--c++/src/Makefile.in19
-rw-r--r--c++/test/Makefile.am2
-rw-r--r--c++/test/Makefile.in19
8 files changed, 73 insertions, 44 deletions
diff --git a/c++/Makefile.am b/c++/Makefile.am
index a64a215..042fb92 100644
--- a/c++/Makefile.am
+++ b/c++/Makefile.am
@@ -27,23 +27,23 @@ DIST_SUBDIRS = src test examples
# Clean and mostlyclean need to recurse into examples directory
clean-local:
- if test -f examples/Makefile; then \
+ @if test -f examples/Makefile; then \
(cd examples && $(MAKE) $(AM_MAKEFLAGS) clean) || exit 1; \
fi;
mostlyclean-local:
- if test -f examples/Makefile; then \
+ @if test -f examples/Makefile; then \
(cd examples && $(MAKE) $(AM_MAKEFLAGS) mostlyclean) || exit 1; \
fi;
# Install examples
install-examples uninstall-examples:
- (cd examples && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1;
+ @(cd examples && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1;
# Check that examples can be successfully built
check-install:
- $(MAKE) $(AM_MAKEFLAGS) installcheck
+ @$(MAKE) $(AM_MAKEFLAGS) installcheck
installcheck-local:
- (cd examples && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1;
+ @(cd examples && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1;
include $(top_srcdir)/config/conclude.am
diff --git a/c++/Makefile.in b/c++/Makefile.in
index cbd29d9..12ad160 100644
--- a/c++/Makefile.in
+++ b/c++/Makefile.in
@@ -284,13 +284,16 @@ H5FC_PP = $(bindir)/h5pfc
# 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) \
+# On the other hand, it is very hard to specify the exact name of .chksh and
+# .logsh files because some scripts live in the source tree, not the build
+# tree. Thus, we clean all .logsh and .chksh files.
+CHECK_CLEANFILES = $(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)
+ $(TEST_PROG_PARA_CHKEXE:.chkexe_=.log) \
+ *.chksh *.logsh
+MOSTLYCLEANFILES = $(CHECK_CLEANFILES)
@BUILD_CXX_CONDITIONAL_TRUE@SUBDIRS = src test
DIST_SUBDIRS = src test examples
@@ -632,24 +635,24 @@ check-install: installcheck
# Clean and mostlyclean need to recurse into examples directory
clean-local:
- if test -f examples/Makefile; then \
+ @if test -f examples/Makefile; then \
(cd examples && $(MAKE) $(AM_MAKEFLAGS) clean) || exit 1; \
fi;
mostlyclean-local:
- if test -f examples/Makefile; then \
+ @if test -f examples/Makefile; then \
(cd examples && $(MAKE) $(AM_MAKEFLAGS) mostlyclean) || exit 1; \
fi;
# Install examples
install-examples uninstall-examples:
- (cd examples && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1;
+ @(cd examples && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1;
# Check that examples can be successfully built
check-install:
- $(MAKE) $(AM_MAKEFLAGS) installcheck
+ @$(MAKE) $(AM_MAKEFLAGS) installcheck
installcheck-local:
- (cd examples && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1;
+ @(cd examples && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1;
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.
@@ -659,7 +662,7 @@ 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 ::
+lib progs tests check-s check-p check-clean ::
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
@for d in X $(SUBDIRS); do \
if test $$d != X && test $$d != .; then \
@@ -679,6 +682,10 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
install-doc uninstall-doc:
@echo "Nothing to be done."
+# clean up files generated by tests so they can be re-run.
+build-check-clean:
+ $(RM) $(CHECK_CLEANFILES)
+
# Run each test in order, passing $(TEST_FLAGS) to the program.
# Since tests are done in a shell loop, "make -i" does apply inside it.
# Set HDF5_Make_Ignore to a non-blank string to ignore errors inside the loop.
diff --git a/c++/examples/Makefile.am b/c++/examples/Makefile.am
index 23757b3..f1664ff 100644
--- a/c++/examples/Makefile.am
+++ b/c++/examples/Makefile.am
@@ -56,9 +56,9 @@ $(EXAMPLEDIR):
-$(top_srcdir)/bin/mkdirs $@
install-data-local:
- $(MAKE) install-examples
+ @$(MAKE) install-examples
uninstall-local:
- $(MAKE) uninstall-examples
+ @$(MAKE) uninstall-examples
# Install source files, which are the examples with .cpp suffixes. Do the same
# for uninstall.
@@ -75,9 +75,9 @@ uninstall-examples:
fi
check-install:
- $(MAKE) installcheck
+ @$(MAKE) $(AM_MAKEFLAGS) installcheck
installcheck-local:
- $(MAKE) check
+ @$(MAKE) $(AM_MAKEFLAGS) check
# How to build programs using h5c++
$(EXTRA_PROG): $(H5CPP) $(LIBHDF5) $(LIBH5CPP)
diff --git a/c++/examples/Makefile.in b/c++/examples/Makefile.in
index 687e5b0..7d8ba45 100644
--- a/c++/examples/Makefile.in
+++ b/c++/examples/Makefile.in
@@ -276,16 +276,20 @@ H5FC_PP = $(bindir)/h5pfc
# 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)!
+# On the other hand, it is very hard to specify the exact name of .chksh and
+# .logsh files because some scripts live in the source tree, not the build
+# tree. Thus, we clean all .logsh and .chksh files.
+CHECK_CLEANFILES = $(TEST_PROG_CHKEXE:.chkexe_=.chkexe) \
+ $(TEST_PROG_PARA_CHKEXE:.chkexe_=.chkexe) \
+ $(TEST_PROG_CHKEXE:.chkexe_=.log) \
+ $(TEST_PROG_PARA_CHKEXE:.chkexe_=.log) \
+ *.chksh *.logsh
+
# 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 = $(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)
+MOSTLYCLEANFILES = $(CHECK_CLEANFILES) *.h5 $(EXTRA_PROG:=.o)
# Use h5c++ to build examples, instead of reguar C++ compiler
H5CPP = $(bindir)/h5c++
@@ -506,9 +510,9 @@ $(EXAMPLEDIR):
-$(top_srcdir)/bin/mkdirs $@
install-data-local:
- $(MAKE) install-examples
+ @$(MAKE) install-examples
uninstall-local:
- $(MAKE) uninstall-examples
+ @$(MAKE) uninstall-examples
# Install source files, which are the examples with .cpp suffixes. Do the same
# for uninstall.
@@ -525,9 +529,9 @@ uninstall-examples:
fi
check-install:
- $(MAKE) installcheck
+ @$(MAKE) $(AM_MAKEFLAGS) installcheck
installcheck-local:
- $(MAKE) check
+ @$(MAKE) $(AM_MAKEFLAGS) check
# How to build programs using h5c++
$(EXTRA_PROG): $(H5CPP) $(LIBHDF5) $(LIBH5CPP)
@@ -553,7 +557,7 @@ 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 ::
+lib progs tests check-s check-p check-clean ::
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
@for d in X $(SUBDIRS); do \
if test $$d != X && test $$d != .; then \
@@ -573,6 +577,10 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
install-doc uninstall-doc:
@echo "Nothing to be done."
+# clean up files generated by tests so they can be re-run.
+build-check-clean:
+ $(RM) $(CHECK_CLEANFILES)
+
# Run each test in order, passing $(TEST_FLAGS) to the program.
# Since tests are done in a shell loop, "make -i" does apply inside it.
# Set HDF5_Make_Ignore to a non-blank string to ignore errors inside the loop.
diff --git a/c++/src/Makefile.am b/c++/src/Makefile.am
index 5c9a2de..1cd499c 100644
--- a/c++/src/Makefile.am
+++ b/c++/src/Makefile.am
@@ -57,7 +57,7 @@ DISTCLEANFILES=h5c++ libhdf5.settings
# holds *.ii files, which are template entity instantiations.
# This entire directory should be cleaned.
mostlyclean-local:
- if test -d ii_files; then \
+ @if test -d ii_files; then \
$(RM) -rf ii_files; \
fi
diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in
index ffea11b..eed8cba 100644
--- a/c++/src/Makefile.in
+++ b/c++/src/Makefile.in
@@ -318,13 +318,16 @@ H5FC_PP = $(bindir)/h5pfc
# 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) \
+# On the other hand, it is very hard to specify the exact name of .chksh and
+# .logsh files because some scripts live in the source tree, not the build
+# tree. Thus, we clean all .logsh and .chksh files.
+CHECK_CLEANFILES = $(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)
+ $(TEST_PROG_PARA_CHKEXE:.chkexe_=.log) \
+ *.chksh *.logsh
+MOSTLYCLEANFILES = $(CHECK_CLEANFILES)
# Include src directory
INCLUDES = -I$(top_srcdir)/src
@@ -733,7 +736,7 @@ check-install: installcheck
# holds *.ii files, which are template entity instantiations.
# This entire directory should be cleaned.
mostlyclean-local:
- if test -d ii_files; then \
+ @if test -d ii_files; then \
$(RM) -rf ii_files; \
fi
@@ -745,7 +748,7 @@ 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 ::
+lib progs tests check-s check-p check-clean ::
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
@for d in X $(SUBDIRS); do \
if test $$d != X && test $$d != .; then \
@@ -765,6 +768,10 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
install-doc uninstall-doc:
@echo "Nothing to be done."
+# clean up files generated by tests so they can be re-run.
+build-check-clean:
+ $(RM) $(CHECK_CLEANFILES)
+
# Run each test in order, passing $(TEST_FLAGS) to the program.
# Since tests are done in a shell loop, "make -i" does apply inside it.
# Set HDF5_Make_Ignore to a non-blank string to ignore errors inside the loop.
diff --git a/c++/test/Makefile.am b/c++/test/Makefile.am
index 43194e5..8d2627a 100644
--- a/c++/test/Makefile.am
+++ b/c++/test/Makefile.am
@@ -43,7 +43,7 @@ HDF_CXX=yes
# holds *.ii files, which are template entity instantiations.
# This entire directory should be cleaned.
mostlyclean-local:
- if test -d ii_files; then \
+ @if test -d ii_files; then \
$(RM) -rf ii_files; \
fi
diff --git a/c++/test/Makefile.in b/c++/test/Makefile.in
index 5167c34..8c8e472 100644
--- a/c++/test/Makefile.in
+++ b/c++/test/Makefile.in
@@ -307,13 +307,16 @@ H5FC_PP = $(bindir)/h5pfc
# 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) \
+# On the other hand, it is very hard to specify the exact name of .chksh and
+# .logsh files because some scripts live in the source tree, not the build
+# tree. Thus, we clean all .logsh and .chksh files.
+CHECK_CLEANFILES = $(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)
+ $(TEST_PROG_PARA_CHKEXE:.chkexe_=.log) \
+ *.chksh *.logsh
+MOSTLYCLEANFILES = $(CHECK_CLEANFILES)
# Include src, test, and c++/src directories
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/c++/src
@@ -621,7 +624,7 @@ check-install: installcheck
# holds *.ii files, which are template entity instantiations.
# This entire directory should be cleaned.
mostlyclean-local:
- if test -d ii_files; then \
+ @if test -d ii_files; then \
$(RM) -rf ii_files; \
fi
@@ -633,7 +636,7 @@ 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 ::
+lib progs tests check-s check-p check-clean ::
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
@for d in X $(SUBDIRS); do \
if test $$d != X && test $$d != .; then \
@@ -653,6 +656,10 @@ all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
install-doc uninstall-doc:
@echo "Nothing to be done."
+# clean up files generated by tests so they can be re-run.
+build-check-clean:
+ $(RM) $(CHECK_CLEANFILES)
+
# Run each test in order, passing $(TEST_FLAGS) to the program.
# Since tests are done in a shell loop, "make -i" does apply inside it.
# Set HDF5_Make_Ignore to a non-blank string to ignore errors inside the loop.