summaryrefslogtreecommitdiffstats
path: root/c++
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 /c++
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
Diffstat (limited to 'c++')
-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
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=)