From c80b03cf3310823e6343f24836227e3d91a5fa53 Mon Sep 17 00:00:00 2001 From: James Laird Date: Mon, 4 Jul 2005 16:25:07 -0500 Subject: [svn-r11016] Purpose: Bug fix Description: Added dependencies to examples Makefiles so that examples can be run in parallel. Solution: The examples directories (for C, C++, and Fortran) all have some dependencies explicitly spelled out in their Makefiles.am. This is a good short-term solution, and should prevent errors in the Daily Tests. Platforms tested: mir, modi4 (parallel and sequential) --- c++/examples/Makefile.am | 4 ++++ c++/examples/Makefile.in | 4 ++++ examples/Makefile.am | 4 ++++ examples/Makefile.in | 4 ++++ fortran/examples/Makefile.am | 4 ++++ fortran/examples/Makefile.in | 4 ++++ 6 files changed, 24 insertions(+) diff --git a/c++/examples/Makefile.am b/c++/examples/Makefile.am index 671dde6..4a76380 100644 --- a/c++/examples/Makefile.am +++ b/c++/examples/Makefile.am @@ -36,6 +36,10 @@ EXTRA_PROG=$(TEST_PROG) INSTALL_FILES=create.cpp readdata.cpp writedata.cpp compound.cpp \ extend_ds.cpp chunks.cpp h5group.cpp +# Some of the examples depend on files created by running other examples +readdata.chkexe_: create.chkexe_ +chunks.chkexe_: extend_ds.chkexe_ + # 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. diff --git a/c++/examples/Makefile.in b/c++/examples/Makefile.in index c32ffae..2d9b939 100644 --- a/c++/examples/Makefile.in +++ b/c++/examples/Makefile.in @@ -484,6 +484,10 @@ uninstall-am: uninstall-info-am uninstall-local uninstall uninstall-am uninstall-info-am uninstall-local +# Some of the examples depend on files created by running other examples +readdata.chkexe_: create.chkexe_ +chunks.chkexe_: extend_ds.chkexe_ + $(EXAMPLEDIR): -$(top_srcdir)/bin/mkdirs $@ diff --git a/examples/Makefile.am b/examples/Makefile.am index 222799c..07f659b 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -57,6 +57,10 @@ else $(H5CC) $(CFLAGS) -o $@ $(srcdir)/$@.c; endif +# Two of the examples depend on files created by other examples. +h5_read.chkexe_: h5_write.chkexe_ +h5_chunk_read.chkexe_: h5_extend_write.chkexe_ + # How to install examples # There are a lot of rules because automake does not know about # the examples programs, and does not recognize the install-examples diff --git a/examples/Makefile.in b/examples/Makefile.in index 9d631ad..376b56f 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -495,6 +495,10 @@ $(EXTRA_PROG): $(LIBHDF5) @BUILD_PARALLEL_CONDITIONAL_TRUE@ $(H5CC_PP) $(CFLAGS) -o $@ $(srcdir)/$@.c; @BUILD_PARALLEL_CONDITIONAL_FALSE@ $(H5CC) $(CFLAGS) -o $@ $(srcdir)/$@.c; +# Two of the examples depend on files created by other examples. +h5_read.chkexe_: h5_write.chkexe_ +h5_chunk_read.chkexe_: h5_extend_write.chkexe_ + $(EXAMPLEDIR): -$(top_srcdir)/bin/mkdirs $@ diff --git a/fortran/examples/Makefile.am b/fortran/examples/Makefile.am index f6d53b3..57aadb1 100644 --- a/fortran/examples/Makefile.am +++ b/fortran/examples/Makefile.am @@ -50,6 +50,10 @@ CLEANFILES=*.h5 $(EXTRA_PROG) # Mark this directory as part of the Fortran API HDF_FORTRAN=yes +# Some examples depend on files created by other examples. +rwdsetexample.chkexe_ attrexample.chkexe_: dsetexample.chkexe_ +grpdsetexample.chkexe_: grpsexample.chkexe_ + # Tell automake how to build examples using h5fc # Additional dependencies for the examples are listed below $(EXTRA_PROG): $(LIBHDF5) $(LIBH5F) diff --git a/fortran/examples/Makefile.in b/fortran/examples/Makefile.in index a214edf..008178d 100644 --- a/fortran/examples/Makefile.in +++ b/fortran/examples/Makefile.in @@ -490,6 +490,10 @@ uninstall-am: uninstall-info-am uninstall-local uninstall uninstall-am uninstall-info-am uninstall-local +# Some examples depend on files created by other examples. +rwdsetexample.chkexe_ attrexample.chkexe_: dsetexample.chkexe_ +grpdsetexample.chkexe_: grpsexample.chkexe_ + # Tell automake how to build examples using h5fc # Additional dependencies for the examples are listed below $(EXTRA_PROG): $(LIBHDF5) $(LIBH5F) -- cgit v0.12