diff options
author | Bill Wendling <wendling@ncsa.uiuc.edu> | 2001-09-21 23:50:15 (GMT) |
---|---|---|
committer | Bill Wendling <wendling@ncsa.uiuc.edu> | 2001-09-21 23:50:15 (GMT) |
commit | 5e834c4cbc2353be2c9efd0f55dbdb23f87d9650 (patch) | |
tree | dc41435e33d8ef43faf0626d5083b0baa028d8da | |
parent | 813dfea5147f18f01f8326d9de8eff85536824a5 (diff) | |
download | hdf5-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-- | MANIFEST | 1 | ||||
-rw-r--r-- | Makefile.in | 41 | ||||
-rwxr-xr-x | bin/mkdirs | 26 | ||||
-rw-r--r-- | c++/Makefile.in | 11 | ||||
-rw-r--r-- | c++/config/commence.in | 1 | ||||
-rw-r--r-- | c++/config/conclude.in | 47 | ||||
-rw-r--r-- | c++/examples/Makefile.in | 11 | ||||
-rw-r--r-- | config/commence.in | 1 | ||||
-rw-r--r-- | config/conclude.in | 26 | ||||
-rwxr-xr-x | configure | 46 | ||||
-rw-r--r-- | configure.in | 49 | ||||
-rw-r--r-- | examples/Makefile.in | 22 | ||||
-rw-r--r-- | fortran/Makefile.in | 13 | ||||
-rw-r--r-- | fortran/config/commence.in | 1 | ||||
-rw-r--r-- | fortran/config/conclude.in | 48 | ||||
-rw-r--r-- | fortran/examples/Makefile.in | 9 |
16 files changed, 206 insertions, 147 deletions
@@ -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 \ :; \ @@ -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) |