summaryrefslogtreecommitdiffstats
path: root/config/conclude.in
diff options
context:
space:
mode:
authorBill Wendling <wendling@ncsa.uiuc.edu>2003-07-28 21:38:04 (GMT)
committerBill Wendling <wendling@ncsa.uiuc.edu>2003-07-28 21:38:04 (GMT)
commit0603e2db00e773702906387620e5644c23360703 (patch)
treea3f999ab9a8ac0ae015fedb9eb45a709a99c4a85 /config/conclude.in
parent6e0e3da2837214179812cf613e78227d4cbb78b3 (diff)
downloadhdf5-0603e2db00e773702906387620e5644c23360703.zip
hdf5-0603e2db00e773702906387620e5644c23360703.tar.gz
hdf5-0603e2db00e773702906387620e5644c23360703.tar.bz2
[svn-r7269] Purpose:
Update Description: Revamped the configuration system. The configurations for the Fortran and C++ libraries are no longer separate from the "main" configuration system. This involved removing the "configure*" and "aclocal.m4" files from the fortran/ and c++/ subdirectories. Also merging settings in the config/ subdirectories into the main config/ subdirectory. Fortran header files had to be modified a little for Linux. It was checking if it was a Linux machine by some #defines, however with the -std=c99 switch, these defines weren't there. I added a check for some other ones which should be there whether the -std=c99 switch is used or not. Platforms tested: Verbena (Fortran & C++) Sol (Fortran & C++) Copper (Fortran & C++) Modi4 (Parallel, Fortran, & C++) Misc. update:
Diffstat (limited to 'config/conclude.in')
-rw-r--r--config/conclude.in102
1 files changed, 71 insertions, 31 deletions
diff --git a/config/conclude.in b/config/conclude.in
index ad90169..8f14856 100644
--- a/config/conclude.in
+++ b/config/conclude.in
@@ -9,11 +9,17 @@
##
lib: $(LIB)
$(LIB) __no_library__: $(LIB_OBJ)
- @$(LT_LINK_LIB) -o $@ $(CFLAGS) $(LIB_OBJ) $(LDFLAGS) $(LIBS)
- @for d in X $(SUBDIRS); do \
- if test $$d != X; then \
- (set -x; cd $$d && $(MAKE) lib) || exit 1; \
- fi; \
+ @if test "X$(HDF_FORTRAN)" = "Xyes"; then \
+ $(LT_LINK_FLIB) -o $@ $(FFLAGS) $(LIB_OBJ) $(LDFLAGS) $(LIBS); \
+ elif test "X$(HDF_CXX)" = "Xyes"; then \
+ $(LT_LINK_CXX_LIB) -o $@ $(CXXFLAGS) $(LIB_OBJ) $(LDFLAGS) $(LIBS); \
+ else \
+ $(LT_LINK_LIB) -o $@ $(CFLAGS) $(LIB_OBJ) $(LDFLAGS) $(LIBS); \
+ fi
+ @for d in X $(SUBDIRS); do \
+ if test $$d != X; then \
+ (set -x; cd $$d && $(MAKE) lib) || exit 1; \
+ fi; \
done
progs: $(LIB) $(PROGS)
@@ -108,31 +114,42 @@ check-vfd:
## Make installation directories directories if they don't exist.
##
$(libdir):
- $(top_srcdir)/bin/mkdirs $@
+ -$(top_srcdir)/bin/mkdirs $@
$(includedir):
- $(top_srcdir)/bin/mkdirs $@
+ -$(top_srcdir)/bin/mkdirs $@
$(bindir):
- $(top_srcdir)/bin/mkdirs $@
+ -$(top_srcdir)/bin/mkdirs $@
$(DOCDIR):
- $(top_srcdir)/bin/mkdirs $@
+ -$(top_srcdir)/bin/mkdirs $@
$(EXAMPLEDIR):
- $(top_srcdir)/bin/mkdirs $@
+ -$(top_srcdir)/bin/mkdirs $@
## Install the library, the public header files, and public programs.
##
install: $(AUX_LIB) $(PUB_LIB) $(PUB_HDR) $(PUB_PROGS) $(libdir) $(includedir) $(bindir)
@for f in X $(PUB_LIB); do \
- if test $$f != X; then \
- ($(LT_INSTALL_LIB) $$f $(libdir)/. || exit 1); \
- fi; \
+ if test $$f != X; then \
+ if test "X$(HDF_FORTRAN)" = "Xyes"; then \
+ (cd .libs && rm -f $(PUB_LIB)i && ln -s ../$(PUB_LIB) $(PUB_LIB)i); \
+ fi; \
+ ($(LT_INSTALL_LIB) $$f $(libdir)/. || exit 1); \
+ fi; \
done
+ @if test "X$(HDF_FORTRAN)" = "Xyes" -a -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \
+ if test -f "hdf5.$(F9XMODEXT)" || test -f "HDF5.$(F9XMODEXT)"; then \
+ ((cp *.$(F9XMODEXT) $(libdir)/. && chmod 644 $(libdir)/*.$(F9XMODEXT)) || exit 1); \
+ fi; \
+ fi
@if test -f libhdf5.settings; then \
(set -x; $(INSTALL_DATA) libhdf5.settings $(libdir)/. || exit 1); \
fi
+ @if test "X$(HDF_FORTRAN)" = "Xyes" -a -f libhdf5_fortran.settings; then \
+ (set -x; $(INSTALL_DATA) libhdf5_fortran.settings $(libdir)/. || exit 1); \
+ fi
@for f in X $(PUB_HDR); do \
if test $$f != X; then \
if test -f $$f; then \
@@ -213,30 +230,38 @@ install-doc: $(PUB_DOCS) $(DOCDIR)
##
uninstall:
@for f in libhdf5.settings $(LIB); do \
- $(LT_UNINSTALL) $(libdir)/$$f; \
+ $(LT_UNINSTALL) $(libdir)/$$f; \
done
@if test -n "$(PUB_HDR)"; then \
- set -x; cd $(includedir) && $(RM) $(PUB_HDR); \
+ set -x; cd $(includedir) && $(RM) $(PUB_HDR); \
fi
- @for f in X $(PUB_PROGS); do \
- if test $$f != X; then \
- $(LT_UNINSTALL) $(bindir)/$$f; \
- fi; \
+ @for f in dummy $(PUB_PROGS); do \
+ if test $$f != dummy; then \
+ $(LT_UNINSTALL) $(bindir)/$$f; \
+ fi; \
done
+ @if test "X$(HDF_FORTRAN)" = "Xyes"; then \
+ $(LT_UNINSTALL) $(libdir)/libhdf5_fortran.settings; \
+ if test -n "$(F9XMODEXT)" -a "X$(F9XMODEXT)" != "Xo"; then \
+ if test -f "$(libdir)/hdf5.$(F9XMODEXT)" -o -f "$(libdir)/HDF5.$(F9XMODEXT)"; then \
+ set -x; $(RM) $(libdir)/*.$(F9XMODEXT); \
+ fi; \
+ fi; \
+ fi
## 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; \
+ 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); \
+ set -x; cd $(DOCDIR) && $(RM) $(PUB_DOCS); \
fi
- @if test -n "$(PUB_SUBDOCS)"; then \
- set -x; cd $(DOCDIR) && $(RM) $(PUB_SUBDOCS); \
+ @if test -n "$(PUB_SUBDOCS)"; then \
+ set -x; cd $(DOCDIR) && $(RM) $(PUB_SUBDOCS); \
fi
## Removes temporary files without removing the final target files. That is,
@@ -269,8 +294,11 @@ clean: mostlyclean
fi; \
done
@if test -n "$(LIB)" -o -n "$(TEST_PROGS)" -o -n "$(TEST_PROGS_PARA)" -o -n "$(PROGS)" -o -n "$(CLEAN)"; then \
- $(RM) $(LIB) $(TEST_PROGS) $(TEST_PROGS_PARA) $(PROGS) $(CLEAN); \
- fi;
+ $(RM) $(LIB) $(TEST_PROGS) $(TEST_PROGS_PARA) $(PROGS) $(CLEAN); \
+ fi
+ @if test "X$(HDF_FORTRAN)" = "Xyes"; then \
+ $(RM) -f *.M *.a *.mod; \
+ fi
-$(RM) -r .libs
## Like `clean' except it also removes files that were created by running
@@ -280,10 +308,10 @@ clean: mostlyclean
##
distclean: clean
-$(RM) .depend TAGS *~ core *.core *.bak *.old *.new $(DISTCLEAN)
- @for d in X $(SUBDIRS); do \
- if test $$d != X; then \
- (set -x; cd $$d; $(MAKE) $@) || exit 1; \
- fi; \
+ @for d in X $(SUBDIRS); do \
+ if test $$d != X; then \
+ (set -x; cd $$d; $(MAKE) $@) || exit 1; \
+ fi; \
done
@if test -f $(srcdir)/Makefile.in; then \
(set -x; $(RM) Makefile); \
@@ -308,6 +336,18 @@ maintainer-clean: distclean
.c.lo:
@$(LT_COMPILE) $(CFLAGS) $(CPPFLAGS) -c $<
+.f90.o:
+ $(F9X) $(FFLAGS) $(FSEARCH_DIRS) -c $<
+
+.f90.lo:
+ @$(LT_FCOMPILE) $(FFLAGS) $(FSEARCH_DIRS) -c $<
+
+.cpp.o:
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
+
+.cpp.lo:
+ @$(LT_CXX_COMPILE) $(CXXFLAGS) $(CPPFLAGS) -c $<
+
##-----------------------------------------------------------------------------
## The following section of this makefile contains dependencies between the
## source files and the header files.