[svn-r7816] Purpose:

Improvement

Description:
    If the library is built in parallel mode, then name the "h5cc" and
    "h5fc" programs "h5pcc" and "h5pfc" resp. This saves the user from
    worrying about mixing serial and parallel builds of the library and
    having to specify the pathnames and so-forth.

Platforms tested:
    Linux (w/ parallel & Fortran)
    Modi4 (w/ parallel & Fortran)
    Sol (Serial & Fortran & C++)

Misc. update:
    Updated release/docs/RELEASE
This commit is contained in:
Bill Wendling 2003-11-04 13:10:59 -05:00
parent 5e835237be
commit bfbfda0cae
6 changed files with 217 additions and 45 deletions

View File

@ -35,6 +35,7 @@ CP=cp
INSTALL=@INSTALL@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
INSTALL_DATA=@INSTALL_DATA@
PARALLEL=@PARALLEL@
RUNSERIAL=@RUNSERIAL@
RUNPARALLEL=@RUNPARALLEL@
RUNTEST=$(RUNSERIAL)

View File

@ -180,8 +180,18 @@ install: $(AUX_LIB) $(PUB_LIB) $(PUB_HDR) $(PUB_PROGS) $(libdir) $(includedir) $
done
@for f in X $(PUB_PROGS); do \
if test $$f != X; then \
if test "X$(PARALLEL)" != "Xno"; then \
if test $$f = "h5cc"; then \
($(LT_INSTALL_PROG) $$f $(bindir)/h5pcc || exit 1); \
elif test $$f = "h5fc"; then \
($(LT_INSTALL_PROG) $$f $(bindir)/h5pfc || exit 1); \
else \
($(LT_INSTALL_PROG) $$f $(bindir)/. || exit 1); \
fi; \
else \
($(LT_INSTALL_PROG) $$f $(bindir)/. || exit 1); \
fi; \
fi; \
done
@for d in X $(SUBDIRS); do \
if test $$d != X; then \

View File

@ -19,7 +19,8 @@ srcdir=@srcdir@
@COMMENCE@
## Replace building CC with the just installed h5cc
CC=$(bindir)/h5cc
H5CC=$(bindir)/h5cc
H5CC_PP=$(bindir)/h5pcc
CPPFLAGS=-I. -I$(srcdir)
CFLAGS=
@ -47,39 +48,111 @@ EXAMPLE_PROGS=$(TEST_SRC)
## How to build the programs... they all depend on the hdf5 library
$(TEST_PROGS) $(TEST_PROGS_PARA): $(LIBHDF5)
h5_chunk_read: $(srcdir)/h5_chunk_read.c
$(CC) $(CPPFLAGS) -o $@ $(srcdir)/h5_chunk_read.c
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(H5CC) $(CPPFLAGS) -o $@ $<; \
$(H5CC) $(CPPFLAGS) -o $@ $<; \
else \
echo $(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
$(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
fi
h5_compound: $(srcdir)/h5_compound.c
$(CC) $(CPPFLAGS) -o $@ $(srcdir)/h5_compound.c
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(H5CC) $(CPPFLAGS) -o $@ $<; \
$(H5CC) $(CPPFLAGS) -o $@ $<; \
else \
echo $(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
$(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
fi
h5_extend_write: $(srcdir)/h5_extend_write.c
$(CC) $(CPPFLAGS) -o $@ $(srcdir)/h5_extend_write.c
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(H5CC) $(CPPFLAGS) -o $@ $<; \
$(H5CC) $(CPPFLAGS) -o $@ $<; \
else \
echo $(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
$(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
fi
h5_group: $(srcdir)/h5_group.c
$(CC) $(CPPFLAGS) -o $@ $(srcdir)/h5_group.c
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(H5CC) $(CPPFLAGS) -o $@ $<; \
$(H5CC) $(CPPFLAGS) -o $@ $<; \
else \
echo $(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
$(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
fi
h5_write: $(srcdir)/h5_write.c
$(CC) $(CPPFLAGS) -o $@ $(srcdir)/h5_write.c
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(H5CC) $(CPPFLAGS) -o $@ $<; \
$(H5CC) $(CPPFLAGS) -o $@ $<; \
else \
echo $(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
$(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
fi
h5_read: $(srcdir)/h5_read.c
$(CC) $(CPPFLAGS) -o $@ $(srcdir)/h5_read.c
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(H5CC) $(CPPFLAGS) -o $@ $<; \
$(H5CC) $(CPPFLAGS) -o $@ $<; \
else \
echo $(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
$(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
fi
h5_select: $(srcdir)/h5_select.c
$(CC) $(CPPFLAGS) -o $@ $(srcdir)/h5_select.c
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(H5CC) $(CPPFLAGS) -o $@ $<; \
$(H5CC) $(CPPFLAGS) -o $@ $<; \
else \
echo $(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
$(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
fi
h5_attribute: $(srcdir)/h5_attribute.c
$(CC) $(CPPFLAGS) -o $@ $(srcdir)/h5_attribute.c
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(H5CC) $(CPPFLAGS) -o $@ $<; \
$(H5CC) $(CPPFLAGS) -o $@ $<; \
else \
echo $(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
$(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
fi
h5_mount: $(srcdir)/h5_mount.c
$(CC) $(CPPFLAGS) -o $@ $(srcdir)/h5_mount.c
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(H5CC) $(CPPFLAGS) -o $@ $<; \
$(H5CC) $(CPPFLAGS) -o $@ $<; \
else \
echo $(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
$(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
fi
h5_reference: $(srcdir)/h5_reference.c
$(CC) $(CPPFLAGS) -o $@ $(srcdir)/h5_reference.c
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(H5CC) $(CPPFLAGS) -o $@ $<; \
$(H5CC) $(CPPFLAGS) -o $@ $<; \
else \
echo $(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
$(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
fi
h5_drivers: $(srcdir)/h5_drivers.c
$(CC) $(CPPFLAGS) -o $@ $(srcdir)/h5_drivers.c
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(H5CC) $(CPPFLAGS) -o $@ $<; \
$(H5CC) $(CPPFLAGS) -o $@ $<; \
else \
echo $(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
$(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
fi
ph5example: $(srcdir)/ph5example.c
$(CC) $(CPPFLAGS) -o $@ $(srcdir)/$@.c
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(H5CC) $(CPPFLAGS) -o $@ $<; \
$(H5CC) $(CPPFLAGS) -o $@ $<; \
else \
echo $(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
$(H5CC_PP) $(CPPFLAGS) -o $@ $<; \
fi
@CONCLUDE@

View File

@ -24,6 +24,7 @@ hdf5_builddir=$(top_builddir)/src
## Replace building FC with the just installed h5fc
FC=$(bindir)/h5fc
FC_PP=$(bindir)/h5pfc
## These are the programs that `make all' or `make tests' will build and which
## `make check' will run. List them in the order they should be run.
@ -49,45 +50,129 @@ EXAMPLE_PROGS=$(TEST_SRC)
## How to build the programs... they all depend on the Fortran & C hdf5 libraries
$(TEST_PROGS): $(LIBHDF5)
dsetexample: $(srcdir)/dsetexample.f90
$(FC) -o $@ $(srcdir)/dsetexample.f90
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(FC) -o $@ $<; \
$(FC) -o $@ $<; \
else \
echo $(FC_PP) -o $@ $<; \
$(FC_PP) -o $@ $<; \
fi
fileexample: $(srcdir)/fileexample.f90
$(FC) -o $@ $(srcdir)/fileexample.f90
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(FC) -o $@ $<; \
$(FC) -o $@ $<; \
else \
echo $(FC_PP) -o $@ $<; \
$(FC_PP) -o $@ $<; \
fi
rwdsetexample: $(srcdir)/rwdsetexample.f90
$(FC) -o $@ $(srcdir)/rwdsetexample.f90
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(FC) -o $@ $<; \
$(FC) -o $@ $<; \
else \
echo $(FC_PP) -o $@ $<; \
$(FC_PP) -o $@ $<; \
fi
attrexample: $(srcdir)/attrexample.f90
$(FC) -o $@ $(srcdir)/attrexample.f90
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(FC) -o $@ $<; \
$(FC) -o $@ $<; \
else \
echo $(FC_PP) -o $@ $<; \
$(FC_PP) -o $@ $<; \
fi
groupexample: $(srcdir)/groupexample.f90
$(FC) -o $@ $(srcdir)/groupexample.f90
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(FC) -o $@ $<; \
$(FC) -o $@ $<; \
else \
echo $(FC_PP) -o $@ $<; \
$(FC_PP) -o $@ $<; \
fi
grpsexample: $(srcdir)/grpsexample.f90
$(FC) -o $@ $(srcdir)/grpsexample.f90
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(FC) -o $@ $<; \
$(FC) -o $@ $<; \
else \
echo $(FC_PP) -o $@ $<; \
$(FC_PP) -o $@ $<; \
fi
grpdsetexample: $(srcdir)/grpdsetexample.f90
$(FC) -o $@ $(srcdir)/grpdsetexample.f90
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(FC) -o $@ $<; \
$(FC) -o $@ $<; \
else \
echo $(FC_PP) -o $@ $<; \
$(FC_PP) -o $@ $<; \
fi
hyperslab: $(srcdir)/hyperslab.f90
$(FC) -o $@ $(srcdir)/hyperslab.f90
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(FC) -o $@ $<; \
$(FC) -o $@ $<; \
else \
echo $(FC_PP) -o $@ $<; \
$(FC_PP) -o $@ $<; \
fi
selectele: $(srcdir)/selectele.f90
$(FC) -o $@ $(srcdir)/selectele.f90
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(FC) -o $@ $<; \
$(FC) -o $@ $<; \
else \
echo $(FC_PP) -o $@ $<; \
$(FC_PP) -o $@ $<; \
fi
grpit: $(srcdir)/grpit.f90
$(FC) -o $@ $(srcdir)/grpit.f90
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(FC) -o $@ $<; \
$(FC) -o $@ $<; \
else \
echo $(FC_PP) -o $@ $<; \
$(FC_PP) -o $@ $<; \
fi
refobjexample: $(srcdir)/refobjexample.f90
$(FC) -o $@ $(srcdir)/refobjexample.f90
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(FC) -o $@ $<; \
$(FC) -o $@ $<; \
else \
echo $(FC_PP) -o $@ $<; \
$(FC_PP) -o $@ $<; \
fi
refregexample: $(srcdir)/refregexample.f90
$(FC) -o $@ $(srcdir)/refregexample.f90
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(FC) -o $@ $<; \
$(FC) -o $@ $<; \
else \
echo $(FC_PP) -o $@ $<; \
$(FC_PP) -o $@ $<; \
fi
mountexample: $(srcdir)/mountexample.f90
$(FC) -o $@ $(srcdir)/mountexample.f90
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(FC) -o $@ $<; \
$(FC) -o $@ $<; \
else \
echo $(FC_PP) -o $@ $<; \
$(FC_PP) -o $@ $<; \
fi
compound: $(srcdir)/compound.f90
$(FC) -o $@ $(srcdir)/compound.f90
@if test "X$(PARALLEL)" = "Xno"; then \
echo $(FC) -o $@ $<; \
$(FC) -o $@ $<; \
else \
echo $(FC_PP) -o $@ $<; \
$(FC_PP) -o $@ $<; \
fi
@CONCLUDE@

View File

@ -65,6 +65,9 @@ New Features
Tools:
------
- Install the "h5cc" and "h5fc" tools as "h5pcc" and "h5pfc"
respectively if library is built in parallel mode.
WCW - 2003/11/04
- Changed output of "OID"s from h5dump from "<number>-<number>" to
"<number". This affects both the "regular" and XML output.
QAK - 2003/08/08
@ -170,8 +173,8 @@ Bug Fixes since HDF5-1.6.0 release
Tools
-----
- Fixed h5redeploy which sometimes complain too many argument for the
test command. (The complain did not hinder the h5redploy to proceed
correctly.) AKC - 2003/11/03
test command. (The complain did not hinder the h5redploy to
proceed correctly.) AKC - 2003/11/03
- Fixed a segmentation fault of h5diff when percentage option is used.
AKC - 2003/08/27
- Switched away from tools using internal "fixtype" function(s) to use

View File

@ -66,7 +66,7 @@ ERROR()
# Main
#
# Initialization
h5tools="h5cc h5fc h5c++" # possible hdf5 tools
h5tools="h5cc h5pcc h5fc h5pfc h5c++" # possible hdf5 tools
foundtools= # tools found and will be modified
fmode= # force mode, default is off
prefix=`(cd ..;pwd)`