summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Wendling <wendling@ncsa.uiuc.edu>2001-09-21 23:50:15 (GMT)
committerBill Wendling <wendling@ncsa.uiuc.edu>2001-09-21 23:50:15 (GMT)
commit5e834c4cbc2353be2c9efd0f55dbdb23f87d9650 (patch)
treedc41435e33d8ef43faf0626d5083b0baa028d8da
parent813dfea5147f18f01f8326d9de8eff85536824a5 (diff)
downloadhdf5-5e834c4cbc2353be2c9efd0f55dbdb23f87d9650.zip
hdf5-5e834c4cbc2353be2c9efd0f55dbdb23f87d9650.tar.gz
hdf5-5e834c4cbc2353be2c9efd0f55dbdb23f87d9650.tar.bz2
[svn-r4466]
Purpose: Feature Add Description: Added "install-example" and "install-all" to the Makefile system. The behaviour of the "make install*" options: make install - Installs binaries, libraries, include files, and example programs. make install-examples - Installs only the example programs. The directories are: ${prefix}/doc/hdf5/examples/{c,c++,fortran} make install-all - Install the binaries, libraries, include files, example programs, and documentation. The whole kit-n'-caboodle. make uninstall-examples - Get rid of those example files (but not the ${prefix}/doc/hdf5/examples/... directories) There's a new bin/ program which helps create directories which are deeply nested called "mkdirs". It's a simple shell script. Platforms tested: Linux
-rw-r--r--MANIFEST1
-rw-r--r--Makefile.in41
-rwxr-xr-xbin/mkdirs26
-rw-r--r--c++/Makefile.in11
-rw-r--r--c++/config/commence.in1
-rw-r--r--c++/config/conclude.in47
-rw-r--r--c++/examples/Makefile.in11
-rw-r--r--config/commence.in1
-rw-r--r--config/conclude.in26
-rwxr-xr-xconfigure46
-rw-r--r--configure.in49
-rw-r--r--examples/Makefile.in22
-rw-r--r--fortran/Makefile.in13
-rw-r--r--fortran/config/commence.in1
-rw-r--r--fortran/config/conclude.in48
-rw-r--r--fortran/examples/Makefile.in9
16 files changed, 206 insertions, 147 deletions
diff --git a/MANIFEST b/MANIFEST
index e485530..c8c143c 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -32,6 +32,7 @@
./bin/locate_hdf4
./bin/ltconfig
./bin/ltmain.sh
+./bin/mkdirs
./bin/release
./bin/runtest _DO_NOT_DISTRIBUTE_
./bin/snapshot
diff --git a/Makefile.in b/Makefile.in
index a6f37df..e0be549 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,8 @@
## Top-level HDF5 Makefile(.in)
##
-## Copyright (C) 1997 National Center for Supercomputing Applications.
-## All rights reserved.
+## Copyright (C) 1997, 1998, 1999, 2000, 2001
+## National Center for Supercomputing Applications
+## All rights reserved.
##
##
## This makefile mostly just reinvokes make in the various subdirectories
@@ -65,13 +66,41 @@ tests TAGS dep depend:
(cd $$d && $(MAKE) $@) || exit 1; \
done
+install-all:
+ @@SETX@; for d in dummy @subdirs@; do \
+ if test $$d != "dummy"; then \
+ (cd $$d && $(MAKE) $@) || exit 1; \
+ fi; \
+ done
+ @$(MAKE) install
+ @$(MAKE) install-doc
+ @$(LT) --mode=finish $(libdir)
+
install:
@@SETX@; for d in $(SUBDIRS); do \
(cd $$d && $(MAKE) $@) || exit 1; \
done
- @$(LT) --mode=finish $(libdir);
+ @$(MAKE) install-examples
+ @$(LT) --mode=finish $(libdir)
+
+install-examples:
+ @@SETX@; for d in dummy @subdirs@; do \
+ if test $$d != "dummy"; then \
+ (cd $$d && $(MAKE) $@) || exit 1; \
+ fi; \
+ done
+ (cd examples && $(MAKE) $@) || exit 1;
+
+uninstall-examples:
+ @@SETX@; for d in dummy @subdirs@; do \
+ if test $$d != "dummy"; then \
+ (cd $$d && $(MAKE) $@) || exit 1; \
+ fi; \
+ done
+ (cd examples && $(MAKE) $@) || exit 1;
install-doc:
+ @$(MAKE) install-examples
(cd doc && $(MAKE) $@) || exit 1;
uninstall-doc:
@@ -88,13 +117,13 @@ H5Tinit.c:
mostlyclean distclean maintainer-clean
clean mostlyclean:
- @@SETX@; for d in $(SUBDIRS) doc perform examples pablo; do \
+ @@SETX@; for d in $(SUBDIRS) doc perform examples pablo; do \
(cd $$d && $(MAKE) $@); \
done
-$(RM) conftest conftest.c
distclean:
- @@SETX@; for d in $(SUBDIRS) doc perform examples pablo; do \
+ @@SETX@; for d in $(SUBDIRS) doc perform examples pablo; do \
(cd $$d && $(MAKE) $@); \
done
-$(RM) config/commence config/conclude
@@ -106,7 +135,7 @@ distclean:
maintainer-clean:
@echo "This target is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
- @@SETX@; for d in $(SUBDIRS) doc perform examples pablo; do \
+ @@SETX@; for d in $(SUBDIRS) doc perform examples pablo; do \
(cd $$d && $(MAKE) $@); \
done
-$(RM) config.cache config.log config.status src/H5config.h
diff --git a/bin/mkdirs b/bin/mkdirs
new file mode 100755
index 0000000..3d689ad
--- /dev/null
+++ b/bin/mkdirs
@@ -0,0 +1,26 @@
+#! /bin/sh
+#
+# Copyright (C) 2001
+# National Center for Supercomputing Applications
+# All rights reserved.
+#
+# This is a small program which will create directories n-levels deep.
+# You just call it with something like:
+#
+# mkdirs /tmp/foo/bar/baz
+#
+# and it will create all the directories from /tmp down to baz which
+# don't exist.
+#
+chmodprog="${CHMODPROG-chmod}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+make_dir () {
+ if ! test -d $1; then
+ make_dir `echo $1 | sed -e 's#/[^/]*$##'`
+ $mkdirprog $1
+ $chmodprog 755 $1
+ fi
+}
+
+make_dir `echo $1 | sed -e 's#/$##'`
diff --git a/c++/Makefile.in b/c++/Makefile.in
index 25034ce..3f18b9b 100644
--- a/c++/Makefile.in
+++ b/c++/Makefile.in
@@ -1,7 +1,8 @@
## Top-level HDF5-C++ Makefile(.in)
##
-## Copyright (C) 2000 National Center for Supercomputing Applications.
-## All rights reserved.
+## Copyright (C) 2000, 2001
+## National Center for Supercomputing Applications
+## All rights reserved.
##
##
## This makefile mostly just reinvokes make in the various subdirectories
@@ -77,12 +78,16 @@ tests TAGS dep depend:
(cd $$d && $(MAKE) $@) || exit 1; \
done
-install:
+install-all install:
@@SETX@; for d in $(SUBDIRS); do \
(cd $$d && $(MAKE) $@) || exit 1; \
done
+ @$(MAKE) install-examples
@$(LT) --mode=finish $(libdir);
+install-examples:
+ (cd examples && $(MAKE) $@) || exit 1;
+
.PHONY: all lib progs test _test install uninstall dep depend clean \
mostlyclean distclean maintainer-clean
diff --git a/c++/config/commence.in b/c++/config/commence.in
index 54440d8..780e6c8 100644
--- a/c++/config/commence.in
+++ b/c++/config/commence.in
@@ -56,6 +56,7 @@ LT_UNINSTALL=$(LT) --mode=uninstall $(RM)
## complains if it sees a reference to a variable which has never been
## defined. The main makefile is free to redefine these to something else.
DOCDIR=$(docdir)
+EXAMPLEDIR=$(docdir)
LIB=
LIB_SRC=
LIB_OBJ=
diff --git a/c++/config/conclude.in b/c++/config/conclude.in
index ba55c21..2bbd1c3 100644
--- a/c++/config/conclude.in
+++ b/c++/config/conclude.in
@@ -54,16 +54,16 @@ check test _test: tests
## Make installation directories directories if they don't exist.
$(libdir):
- mkdir $@ && chmod 755 $@
+ $(top_srcdir)/bin/mkdirs $@
$(includedir):
- mkdir $@ && chmod 755 $@
+ $(top_srcdir)/bin/mkdirs $@
$(bindir):
- mkdir $@ && chmod 755 $@
+ $(top_srcdir)/bin/mkdirs $@
-$(DOCDIR):
- mkdir $@ && chmod 755 $@
+$(EXAMPLEDIR):
+ $(top_srcdir)/bin/mkdirs $@
## Install the library, the public header files, and public programs.
install: $(PUB_LIB) $(PUB_HDR) $(PUB_PROGS) $(libdir) $(includedir) $(bindir)
@@ -91,24 +91,18 @@ install: $(PUB_LIB) $(PUB_HDR) $(PUB_PROGS) $(libdir) $(includedir) $(bindir)
fi; \
done
-## Install the documents.
-install-doc: $(PUB_DOCS) $(DOCDIR)
- @for d in X $(SUBDIRS); do \
- if test $$d != X; then \
- (set -x; cd $$d && $(MAKE) $@) || exit 1; \
- fi; \
- done
- @for f in X $(PUB_DOCS); do \
- if test $$f != X; then \
- if test -f $$f; then \
- (set -x; $(INSTALL_DATA) $$f $(DOCDIR)/. || exit 1); \
- else \
- (set -x; $(INSTALL_DATA) $(srcdir)/$$f $(DOCDIR)/. || \
- exit 1); \
- fi; \
- fi; \
+install-examples: $(EXAMPLE_PROGS) $(EXAMPLEDIR)
+ @for f in X $(EXAMPLE_PROGS); do \
+ if test $$f != X; then \
+ (set -x; $(INSTALL_DATA) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1);\
+ fi; \
done
+uninstall-examples:
+ @if test -n "$(EXAMPLE_PROGS)"; then \
+ set -x; cd $(EXAMPLEDIR) && $(RM) $(EXAMPLE_DOCS); \
+ fi
+
## Removes those things that `make install' (would have) installed.
uninstall:
@for f in libhdf5.settings $(LIB); do \
@@ -123,17 +117,6 @@ uninstall:
fi; \
done
-## Removes those things that `make install-doc' (would have) installed.
-uninstall-doc:
- @for d in X $(SUBDIRS); do \
- if test $$d != X; then \
- (set -x; cd $$d && $(MAKE) $@) || exit 1; \
- fi; \
- done
- @if test -n "$(PUB_DOCS)"; then \
- set -x; cd $(DOCDIR) && $(RM) $(PUB_DOCS); \
- fi
-
## Removes temporary files without removing the final target files. That is,
## remove things like object files but not libraries or executables.
##
diff --git a/c++/examples/Makefile.in b/c++/examples/Makefile.in
index 129ac8a..0ced389 100644
--- a/c++/examples/Makefile.in
+++ b/c++/examples/Makefile.in
@@ -1,14 +1,18 @@
## HDF5-C++ examples/Makefile(.in)
##
-## Copyright (C) 2000 National Center for Supercomputing Applications.
-## All rights reserved.
+## Copyright (C) 2000, 2001
+## National Center for Supercomputing Applications
+## All rights reserved.
##
##
top_srcdir=@top_srcdir@/..
top_builddir=../..
srcdir=@srcdir@
+
@COMMENCE@
+EXAMPLEDIR=$(docdir)/hdf5/examples/c++
+
hdf5_srcdir=$(top_srcdir)/src
hdf5_builddir=$(top_builddir)/src
@@ -25,6 +29,9 @@ TEST_SRC=compound.cpp h5group.cpp create.cpp readdata.cpp chunks.cpp \
extend_ds.cpp writedata.cpp
TEST_OBJ=$(TEST_SRC:.cpp=.lo)
+H5_FILES=Attributes.h5 SDScompound.h5 Select.h5 SDSextendible.h5 Group.h5 SDS.h5
+EXAMPLE_PROGS=$(TEST_SRC) $(H5_FILES)
+
## 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.
TEST_PROGS=$(TEST_SRC:.cpp=)
diff --git a/config/commence.in b/config/commence.in
index b0b987c..878bd89 100644
--- a/config/commence.in
+++ b/config/commence.in
@@ -59,6 +59,7 @@ LT_UNINSTALL=$(LT) --mode=uninstall $(RM)
## defined. The main makefile is free to redefine these to something else.
DOCDIR=$(docdir)
SUBDOCDIR=
+EXAMPLEDIR=$(docdir)
LIB=
LIB_SRC=
LIB_OBJ=
diff --git a/config/conclude.in b/config/conclude.in
index c24a87e..07a9040 100644
--- a/config/conclude.in
+++ b/config/conclude.in
@@ -84,13 +84,19 @@ check test _test: tests
## Make installation directories directories if they don't exist.
##
$(libdir):
- mkdir $@ && chmod 755 $@
+ $(top_srcdir)/bin/mkdirs $@
$(includedir):
- mkdir $@ && chmod 755 $@
+ $(top_srcdir)/bin/mkdirs $@
$(bindir):
- mkdir $@ && chmod 755 $@
+ $(top_srcdir)/bin/mkdirs $@
+
+$(DOCDIR):
+ $(top_srcdir)/bin/mkdirs $@
+
+$(EXAMPLEDIR):
+ $(top_srcdir)/bin/mkdirs $@
## Install the library, the public header files, and public programs.
##
@@ -124,9 +130,21 @@ install: $(PUB_LIB) $(PUB_HDR) $(PUB_PROGS) $(libdir) $(includedir) $(bindir)
fi; \
done
+install-examples: $(EXAMPLE_PROGS) $(EXAMPLEDIR)
+ @for f in X $(EXAMPLE_PROGS); do \
+ if test $$f != X; then \
+ (set -x; $(INSTALL_DATA) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1);\
+ fi; \
+ done
+
+uninstall-examples:
+ @if test -n "$(EXAMPLE_PROGS)"; then \
+ set -x; cd $(EXAMPLEDIR) && $(RM) $(EXAMPLE_PROGS); \
+ fi
+
## Install the documents.
##
-install-doc: $(PUB_DOCS)
+install-doc: $(PUB_DOCS) $(DOCDIR)
@if test -n "$(DOCDIR)"; then \
if test -d "$(DOCDIR)"; then \
:; \
diff --git a/configure b/configure
index 6835260..0d6eba5 100755
--- a/configure
+++ b/configure
@@ -10316,14 +10316,6 @@ cat >> src/H5config.h <<EOF
#endif
EOF
-PRINT() {
- SPACES=" "
- msg="$SPACES $1: "
- msg_len="`echo \"$msg\" | wc -c | sed -e 's/ //g'`"
- let "begin_msg=$msg_len-34"
- echo "$msg" | cut -c$begin_msg- | tr -d '\012'
-}
-
IF_YES_NO() {
if test "$1" = "yes"; then
echo "Yes"
@@ -10343,7 +10335,7 @@ IF_ENABLED_DISABLED() {
echo ""
echo "Compiling Options:"
-PRINT "Compilation Mode"
+echo -n " Compilation Mode: "
case "X-$enable_production" in
X-yes) echo "Production" ;;
X-|X-no) echo "Development" ;;
@@ -10351,7 +10343,7 @@ case "X-$enable_production" in
*) echo "$enable_production" ;;
esac
-PRINT "Debug Mode"
+echo -n " Debug Mode: "
case "X-$DEBUG_PKG" in
X-|X-yes) echo "Default" ;;
X-all) echo "All" ;;
@@ -10359,16 +10351,16 @@ case "X-$DEBUG_PKG" in
*) echo "$DEBUG_PKG" ;;
esac
-PRINT "Shared Libraries"
+echo -n " Shared Libraries: "
IF_YES_NO "$enable_shared"
-PRINT "Static Libraries"
+echo -n " Static Libraries: "
IF_YES_NO "$enable_static"
-PRINT "Statically Linked Executables"
+echo -n " Statically Linked Executables: "
IF_YES_NO "$STATIC_EXEC"
-PRINT "Tracing"
+echo -n " Tracing: "
if test -z "$TRACE" -o "X$TRACE" = "Xyes"; then
echo "Yes"
else
@@ -10378,48 +10370,48 @@ fi
echo ""
echo "Features:"
-PRINT "C++"
+echo -n " C++: "
IF_YES_NO "$HDF_CXX"
-PRINT "Fortran"
+echo -n " Fortran: "
IF_YES_NO "$HDF_FORTRAN"
-PRINT "GASS"
+echo -n " GASS: "
IF_YES_NO "$GASS"
-PRINT "GridStorage"
+echo -n " GridStorage: "
IF_YES_NO "$GRIDSTORAGE"
-PRINT "HDF4"
+echo -n " HDF4: "
IF_YES_NO "$HAVE_HDF4"
-PRINT "HDF5 v1.4 Compatibility"
+echo -n " HDF5 v1.4 Compatibility: "
IF_YES_NO "$HDF5_V1_4_COMPAT"
-PRINT "hsize_t"
+echo -n " hsize_t: "
case "$HSIZET" in
no|small) echo "Small" ;;
*) echo "Large" ;;
esac
-PRINT "Linux Large File Support (LFS)"
+echo -n " Linux Large File Support (LFS): "
IF_ENABLED_DISABLED "$LINUX_LFS"
-PRINT "Parallel HDF5"
+echo -n " Parallel HDF5: "
if test "$PARALLEL" != "no"; then
echo "Yes"
else
echo "No"
fi
-PRINT "SRB"
+echo -n " SRB: "
IF_YES_NO "$SRB"
-PRINT "Stream VFD"
+echo -n " Stream VFD: "
IF_ENABLED_DISABLED "$STREAM_VFD"
-PRINT "Threadsafety"
+echo -n " Threadsafety: "
IF_ENABLED_DISABLED "$THREADSAFE"
-PRINT "Zlib-compression"
+echo -n " Zlib-compression: "
IF_YES_NO "$HAVE_ZLIB"
diff --git a/configure.in b/configure.in
index 72dbf3c..993721b 100644
--- a/configure.in
+++ b/configure.in
@@ -1805,14 +1805,9 @@ cat >> src/H5config.h <<EOF
#endif
EOF
-PRINT() {
- SPACES=" "
- msg="$SPACES $1: "
- msg_len="`echo \"$msg\" | wc -c | sed -e 's/ //g'`"
- let "begin_msg=$msg_len-34"
- echo "$msg" | cut -c$begin_msg- | tr -d '\012'
-}
-
+dnl ----------------------------------------------------------------------
+dnl Print out a summary of what we are going to build.
+dnl
IF_YES_NO() {
if test "$1" = "yes"; then
echo "Yes"
@@ -1832,7 +1827,7 @@ IF_ENABLED_DISABLED() {
echo ""
echo "Compiling Options:"
-PRINT "Compilation Mode"
+echo -n " Compilation Mode: "
case "X-$enable_production" in
X-yes) echo "Production" ;;
X-|X-no) echo "Development" ;;
@@ -1840,7 +1835,7 @@ case "X-$enable_production" in
*) echo "$enable_production" ;;
esac
-PRINT "Debug Mode"
+echo -n " Debug Mode: "
case "X-$DEBUG_PKG" in
X-|X-yes) echo "Default" ;;
X-all) echo "All" ;;
@@ -1848,16 +1843,16 @@ case "X-$DEBUG_PKG" in
*) echo "$DEBUG_PKG" ;;
esac
-PRINT "Shared Libraries"
+echo -n " Shared Libraries: "
IF_YES_NO "$enable_shared"
-PRINT "Static Libraries"
+echo -n " Static Libraries: "
IF_YES_NO "$enable_static"
-PRINT "Statically Linked Executables"
+echo -n " Statically Linked Executables: "
IF_YES_NO "$STATIC_EXEC"
-PRINT "Tracing"
+echo -n " Tracing: "
if test -z "$TRACE" -o "X$TRACE" = "Xyes"; then
echo "Yes"
else
@@ -1867,48 +1862,48 @@ fi
echo ""
echo "Features:"
-PRINT "C++"
+echo -n " C++: "
IF_YES_NO "$HDF_CXX"
-PRINT "Fortran"
+echo -n " Fortran: "
IF_YES_NO "$HDF_FORTRAN"
-PRINT "GASS"
+echo -n " GASS: "
IF_YES_NO "$GASS"
-PRINT "GridStorage"
+echo -n " GridStorage: "
IF_YES_NO "$GRIDSTORAGE"
-PRINT "HDF4"
+echo -n " HDF4: "
IF_YES_NO "$HAVE_HDF4"
-PRINT "HDF5 v1.4 Compatibility"
+echo -n " HDF5 v1.4 Compatibility: "
IF_YES_NO "$HDF5_V1_4_COMPAT"
-PRINT "hsize_t"
+echo -n " hsize_t: "
case "$HSIZET" in
no|small) echo "Small" ;;
*) echo "Large" ;;
esac
-PRINT "Linux Large File Support (LFS)"
+echo -n " Linux Large File Support (LFS): "
IF_ENABLED_DISABLED "$LINUX_LFS"
-PRINT "Parallel HDF5"
+echo -n " Parallel HDF5: "
if test "$PARALLEL" != "no"; then
echo "Yes"
else
echo "No"
fi
-PRINT "SRB"
+echo -n " SRB: "
IF_YES_NO "$SRB"
-PRINT "Stream VFD"
+echo -n " Stream VFD: "
IF_ENABLED_DISABLED "$STREAM_VFD"
-PRINT "Threadsafety"
+echo -n " Threadsafety: "
IF_ENABLED_DISABLED "$THREADSAFE"
-PRINT "Zlib-compression"
+echo -n " Zlib-compression: "
IF_YES_NO "$HAVE_ZLIB"
diff --git a/examples/Makefile.in b/examples/Makefile.in
index fe5f296..2dd7c3b 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -1,13 +1,16 @@
## HDF5 Library Examples Makefile(.in)
##
-## Copyright (C) 1997 National Center for Supercomputing Applications.
-## All rights reserved.
+## Copyright (C) 1997, 1998, 1999, 2000, 2001
+## National Center for Supercomputing Applications
+## All rights reserved.
##
top_srcdir=@top_srcdir@
top_builddir=..
srcdir=@srcdir@
@COMMENCE@
+EXAMPLEDIR=$(docdir)/hdf5/examples/c
+
## Add include directory to the C preprocessor flags and the hdf5 library
## to the library list.
CPPFLAGS=-I. -I$(srcdir) -I../src -I$(top_srcdir)/src @CPPFLAGS@
@@ -16,9 +19,9 @@ LIBHDF5=../src/libhdf5.la
## 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.
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 \
- $(TEST_PROGS_PARA)
+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 $(TEST_PROGS_PARA)
## These are the files that `make clean' (and derivatives) will remove from
## this directory.
@@ -28,12 +31,13 @@ CLEAN=*.h5 *.raw *.meta
## created by replacing the `.c' with a `.o'. This list is necessary
## 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)
+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)
TEST_OBJ=$(TEST_SRC:.c=.lo)
+EXAMPLE_PROGS=$(TEST_SRC)
+
## How to build the programs... they all depend on the hdf5 library
$(TEST_PROGS): $(LIBHDF5)
h5_chunk_read: h5_chunk_read.lo
diff --git a/fortran/Makefile.in b/fortran/Makefile.in
index 2a79406..981f8f8 100644
--- a/fortran/Makefile.in
+++ b/fortran/Makefile.in
@@ -1,7 +1,8 @@
## Top-level HDF5-Fortran Makefile(.in)
##
-## Copyright (C) 2000 National Center for Supercomputing Applications.
-## All rights reserved.
+## Copyright (C) 2000, 2001
+## National Center for Supercomputing Applications
+## All rights reserved.
##
##
## This makefile mostly just reinvokes make in the various subdirectories
@@ -75,11 +76,15 @@ tests TAGS dep depend:
(cd $$d && $(MAKE) $@) || exit 1; \
done
-install:
+install-all install:
@@SETX@; for d in $(SUBDIRS); do \
(cd $$d && $(MAKE) $@) || exit 1; \
done
- @$(LT) --mode=finish $(libdir);
+ @$(MAKE) install-examples
+ @$(LT) --mode=finish $(libdir)
+
+install-examples:
+ (cd examples && $(MAKE) $@) || exit 1;
.PHONY: all lib progs test _test install uninstall dep depend clean \
mostlyclean distclean maintainer-clean
diff --git a/fortran/config/commence.in b/fortran/config/commence.in
index 8881ec7..1e23566 100644
--- a/fortran/config/commence.in
+++ b/fortran/config/commence.in
@@ -68,6 +68,7 @@ LT_LINK_FEXE=$(LT) --mode=link $(F9X) $(LT_STATIC_EXEC) $(DYNAMIC_DIRS)
## complains if it sees a reference to a variable which has never been
## defined. The main makefile is free to redefine these to something else.
DOCDIR=$(docdir)
+EXAMPLEDIR=$(docdir)
LIB=
LIB_SRC=
LIB_OBJ=
diff --git a/fortran/config/conclude.in b/fortran/config/conclude.in
index dea5732..3b1bbce 100644
--- a/fortran/config/conclude.in
+++ b/fortran/config/conclude.in
@@ -47,16 +47,19 @@ check test _test: tests
## Make installation directories directories if they don't exist.
$(libdir):
- mkdir $@ && chmod 755 $@
+ $(top_srcdir)/bin/mkdirs $@
$(includedir):
- mkdir $@ && chmod 755 $@
+ $(top_srcdir)/bin/mkdirs $@
$(bindir):
- mkdir $@ && chmod 755 $@
+ $(top_srcdir)/bin/mkdirs $@
$(DOCDIR):
- mkdir $@ && chmod 755 $@
+ $(top_srcdir)/bin/mkdirs $@
+
+$(EXAMPLEDIR):
+ $(top_srcdir)/bin/mkdirs $@
## Install the library, the public header files, and public programs.
install: $(PUB_LIB) $(PUB_HDR) $(PUB_PROGS) $(libdir) $(includedir) $(bindir)
@@ -90,24 +93,18 @@ install: $(PUB_LIB) $(PUB_HDR) $(PUB_PROGS) $(libdir) $(includedir) $(bindir)
fi; \
done
-## Install the documents.
-install-doc: $(PUB_DOCS) $(DOCDIR)
- @for d in X $(SUBDIRS); do \
- if test $$d != X; then \
- (set -x; cd $$d && $(MAKE) $@) || exit 1; \
- fi; \
- done
- @for f in X $(PUB_DOCS); do \
- if test $$f != X; then \
- if test -f $$f; then \
- (set -x; $(INSTALL_DATA) $$f $(DOCDIR)/. || exit 1); \
- else \
- (set -x; $(INSTALL_DATA) $(srcdir)/$$f $(DOCDIR)/. || \
- exit 1); \
- fi; \
- fi; \
+install-examples: $(EXAMPLE_PROGS) $(EXAMPLEDIR)
+ @for f in X $(EXAMPLE_PROGS); do \
+ if test $$f != X; then \
+ (set -x; $(INSTALL_DATA) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1);\
+ fi; \
done
+uninstall-examples:
+ @if test -n "$(EXAMPLE_PROGS)"; then \
+ set -x; cd $(EXAMPLEDIR) && $(RM) $(EXAMPLE_PROGS); \
+ fi
+
## Removes those things that `make install' (would have) installed.
uninstall:
@for f in libhdf5.settings $(LIB); do \
@@ -122,17 +119,6 @@ uninstall:
fi; \
done
-## Removes those things that `make install-doc' (would have) installed.
-uninstall-doc:
- @for d in X $(SUBDIRS); do \
- if test $$d != X; then \
- (set -x; cd $$d && $(MAKE) $@) || exit 1; \
- fi; \
- done
- @if test -n "$(PUB_DOCS)"; then \
- set -x; cd $(DOCDIR) && $(RM) $(PUB_DOCS); \
- fi
-
## Removes temporary files without removing the final target files. That is,
## remove things like object files but not libraries or executables.
##
diff --git a/fortran/examples/Makefile.in b/fortran/examples/Makefile.in
index 0ff5ae1..476df05 100644
--- a/fortran/examples/Makefile.in
+++ b/fortran/examples/Makefile.in
@@ -1,7 +1,8 @@
## HDF5-Fortran test/Makefile(.in)
##
-## Copyright (C) 2000 National Center for Supercomputing Applications.
-## All rights reserved.
+## Copyright (C) 2000, 2001
+## National Center for Supercomputing Applications
+## All rights reserved.
##
##
top_srcdir=@top_srcdir@/..
@@ -9,6 +10,8 @@ top_builddir=../..
srcdir=@srcdir@
@COMMENCE@
+EXAMPLEDIR=$(docdir)/hdf5/examples/fortran
+
hdf5_builddir=$(top_builddir)/src
## Add include directory to the C preprocessor flags and the h5test and hdf5
@@ -38,6 +41,8 @@ TEST_SRC=dsetexample.f90 fileexample.f90 rwdsetexample.f90 attrexample.f90 \
mountexample.f90 compound.f90
TEST_OBJ=$(TEST_SRC:.f90=.lo)
+EXAMPLE_PROGS=$(TEST_SRC)
+
## How to build the programs... they all depend on the Fortran & C hdf5 libraries
$(TEST_PROGS): $(FLIB) $(HDF5LIB)