diff options
author | James Laird <jlaird@hdfgroup.org> | 2005-08-01 22:22:55 (GMT) |
---|---|---|
committer | James Laird <jlaird@hdfgroup.org> | 2005-08-01 22:22:55 (GMT) |
commit | c63ef2cba28df827eb090a019284c7cd8c2982af (patch) | |
tree | 134ff7254d8ee7b1c6f7fa3eabc509528899d68d /c++ | |
parent | f2240792704b74fc288b4e4a570509c4afe4a34e (diff) | |
download | hdf5-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.am | 10 | ||||
-rw-r--r-- | c++/Makefile.in | 27 | ||||
-rw-r--r-- | c++/examples/Makefile.am | 8 | ||||
-rw-r--r-- | c++/examples/Makefile.in | 30 | ||||
-rw-r--r-- | c++/src/Makefile.am | 2 | ||||
-rw-r--r-- | c++/src/Makefile.in | 19 | ||||
-rw-r--r-- | c++/test/Makefile.am | 2 | ||||
-rw-r--r-- | c++/test/Makefile.in | 19 |
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. |