diff options
author | Albert Cheng <acheng@hdfgroup.org> | 2004-01-07 17:45:16 (GMT) |
---|---|---|
committer | Albert Cheng <acheng@hdfgroup.org> | 2004-01-07 17:45:16 (GMT) |
commit | 6a9d906c9074b758a210d702805269b330cc4220 (patch) | |
tree | b5c80ac85b30ad858b815ce537742487ef220d02 | |
parent | fb1494ea6e82b4dc43137d83e8ddffa72f97ed90 (diff) | |
download | hdf5-6a9d906c9074b758a210d702805269b330cc4220.zip hdf5-6a9d906c9074b758a210d702805269b330cc4220.tar.gz hdf5-6a9d906c9074b758a210d702805269b330cc4220.tar.bz2 |
[svn-r8035] Purpose:
feature
Description:
Install the C and Fortran compiler commands as h5pcc and h5pfc if
parallel mode is used.
Platforms tested:
"h5committested"
-rw-r--r-- | config/commence.in | 1 | ||||
-rw-r--r-- | config/conclude.in | 12 | ||||
-rw-r--r-- | examples/Makefile.in | 108 | ||||
-rw-r--r-- | fortran/config/conclude.in | 7 | ||||
-rw-r--r-- | fortran/examples/Makefile.in | 113 | ||||
-rwxr-xr-x | tools/misc/h5redeploy.in | 2 |
6 files changed, 209 insertions, 34 deletions
diff --git a/config/commence.in b/config/commence.in index af1275c..16f13ca 100644 --- a/config/commence.in +++ b/config/commence.in @@ -28,6 +28,7 @@ CP=cp INSTALL=@INSTALL@ INSTALL_PROGRAM=@INSTALL_PROGRAM@ INSTALL_DATA=@INSTALL_DATA@ +PARALLEL=@PARALLEL@ RUNSERIAL=@RUNSERIAL@ RUNPARALLEL=@RUNPARALLEL@ RUNTEST=$(RUNSERIAL) diff --git a/config/conclude.in b/config/conclude.in index ad90169..497a827 100644 --- a/config/conclude.in +++ b/config/conclude.in @@ -145,7 +145,17 @@ install: $(AUX_LIB) $(PUB_LIB) $(PUB_HDR) $(PUB_PROGS) $(libdir) $(includedir) $ done @for f in X $(PUB_PROGS); do \ if test $$f != X; then \ - ($(LT_INSTALL_PROG) $$f $(bindir)/. || exit 1); \ + 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 \ diff --git a/examples/Makefile.in b/examples/Makefile.in index 5852297..37e1d0e 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -1,4 +1,3 @@ -## HDF5 Library Examples Makefile(.in) ## ## Copyright by the Board of Trustees of the University of Illinois. ## All rights reserved. @@ -12,13 +11,16 @@ ## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have ## access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. ## +## HDF5 Library Examples Makefile(.in) +## top_srcdir=@top_srcdir@ top_builddir=.. 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= @@ -26,7 +28,7 @@ CFLAGS= ## `make check' will run. List them in the order they should be run. TEST_PROGS_PARA=ph5example TEST_PROGS=h5_write h5_read h5_extend_write h5_chunk_read h5_compound \ - h5_group h5_select h5_attribute h5_mount h5_reference h5_drivers + h5_group h5_select h5_attribute h5_mount h5_reference h5_drivers ## These are the files that `make clean' (and derivatives) will remove from ## this directory. @@ -38,8 +40,8 @@ CLEAN=*.h5 *.raw *.meta *.clog ## for building automatic dependencies. TEST_SRC_PARA=ph5example.c TEST_SRC=h5_chunk_read.c h5_compound.c h5_extend_write.c h5_group.c \ - h5_read.c h5_write.c h5_select.c h5_attribute.c h5_mount.c \ - h5_reference.c h5_drivers.c $(TEST_SRC_PARA) + h5_read.c h5_write.c h5_select.c h5_attribute.c h5_mount.c \ + h5_reference.c h5_drivers.c $(TEST_SRC_PARA) TEST_OBJ=$(TEST_SRC:.c=.lo) EXAMPLE_PROGS=$(TEST_SRC) @@ -47,39 +49,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@ diff --git a/fortran/config/conclude.in b/fortran/config/conclude.in index 09cdf52..2288fb0 100644 --- a/fortran/config/conclude.in +++ b/fortran/config/conclude.in @@ -87,9 +87,14 @@ install: $(PUB_LIB) $(PUB_HDR) $(PUB_PROGS) $(libdir) $(includedir) $(bindir) fi; \ fi; \ done + # install h5fc as h5pfc for parallel mode. @for f in X $(PUB_PROGS); do \ if test $$f != X; then \ - ($(LT_INSTALL_PROG) $$f $(bindir)/. || exit 1); \ + if test "X$(PARALLEL)" != "Xno" -a $$f = "h5fc"; then \ + ($(LT_INSTALL_PROG) $$f $(bindir)/h5pfc || exit 1); \ + else \ + ($(LT_INSTALL_PROG) $$f $(bindir)/. || exit 1); \ + fi; \ fi; \ done diff --git a/fortran/examples/Makefile.in b/fortran/examples/Makefile.in index 601d51a..682c07f 100644 --- a/fortran/examples/Makefile.in +++ b/fortran/examples/Makefile.in @@ -21,6 +21,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. @@ -46,45 +47,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@ diff --git a/tools/misc/h5redeploy.in b/tools/misc/h5redeploy.in index 75d5a68..3e6d192 100755 --- a/tools/misc/h5redeploy.in +++ b/tools/misc/h5redeploy.in @@ -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)` |