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 /c++ | |
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 'c++')
-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 |
4 files changed, 33 insertions, 37 deletions
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=) |