summaryrefslogtreecommitdiffstats
path: root/fortran
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 /fortran
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 'fortran')
-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
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)