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 /fortran | |
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
Diffstat (limited to 'fortran')
-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 |
4 files changed, 34 insertions, 37 deletions
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) |