From 24f7d99d91729eef393ce56c0603d3040f65e97b Mon Sep 17 00:00:00 2001 From: James Laird Date: Sat, 5 Feb 2005 13:32:00 -0500 Subject: [svn-r9943] Purpose: Bug fix Description: /fortran/testpar build breaks when making in parallel Solution: Massage depdendencies slightly to ensure that object files are built after module file. Also made sure that module file gets cleaned properly. Platforms tested: eirene --- fortran/testpar/Makefile.am | 28 ++++++++++++++++++++-- fortran/testpar/Makefile.in | 57 +++++++++++++++++++++++++++++++++------------ 2 files changed, 68 insertions(+), 17 deletions(-) diff --git a/fortran/testpar/Makefile.am b/fortran/testpar/Makefile.am index 41414a8..ce0123a 100644 --- a/fortran/testpar/Makefile.am +++ b/fortran/testpar/Makefile.am @@ -36,9 +36,33 @@ ptesthdf5_fortran_SOURCES=thdf5.f90 ptesthdf5_fortran.f90 thyperslab_wr.f90 # The tests depend on several libraries. LDADD=$(LIBH5FTEST) $(LIBH5TEST) $(LIBH5F) $(LIBHDF5) +# Fortran module files can have different extensions and different names +# (e.g., different capitalizations) on different platforms. Write rules +# for them explicitly rather than trying to teach automake about them. +# They should be installed as headers and removed during clean. +maintainer-clean-local: clean-local +distclean-local: clean-local +clean-local: + if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \ + $(RM) *.$(F9XMODEXT); \ + fi + +install-data-local: + if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \ + $(CP) $(top_builddir)/$(subdir)/*.$(F9XMODEXT) $(includedir)/. ; \ + fi + +uninstall-local: + if test -n "$(F9XMODEXT)" -a "X$(F9XMODEXT)" != "Xo"; then \ + if test -f "$(includedir)/hdf5.$(F9XMODEXT)" -o -f "$(includedir)/HDF5.$(F9XMODEXT)"; then \ + set -x; $(RM) $(includedir)/*.$(F9XMODEXT); \ + fi; \ + fi; \ + $(RM) $(bindir)/$(H5FC_NAME) + # Put in dependencies to the THDF5 module so that things will be built # in the correct order. -thyperslab_wr.lo: $(srcdir)/thyperslab_wr.f90 thdf5.lo -ptesthdf5_fortran.lo: $(srcdir)/ptesthdf5_fortran.f90 thdf5.lo +thyperslab_wr.o: $(srcdir)/thyperslab_wr.f90 thdf5.lo +ptesthdf5_fortran.o: $(srcdir)/ptesthdf5_fortran.f90 thdf5.lo include $(top_srcdir)/config/conclude.am diff --git a/fortran/testpar/Makefile.in b/fortran/testpar/Makefile.in index 4949c66..1bf259e 100644 --- a/fortran/testpar/Makefile.in +++ b/fortran/testpar/Makefile.in @@ -398,12 +398,13 @@ maintainer-clean-generic: @echo "it deletes files that may require special tools to rebuild." clean: clean-am -clean-am: clean-checkPROGRAMS clean-generic clean-libtool mostlyclean-am +clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \ + mostlyclean-am distclean: distclean-am distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-libtool distclean-local distclean-tags dvi: dvi-am @@ -413,7 +414,7 @@ info: info-am info-am: -install-data-am: +install-data-am: install-data-local install-exec-am: @@ -425,31 +426,57 @@ installcheck-am: maintainer-clean: maintainer-clean-am -maintainer-clean-am: distclean-am maintainer-clean-generic +maintainer-clean-am: distclean-am maintainer-clean-generic \ + maintainer-clean-local mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool -uninstall-am: uninstall-info-am +uninstall-am: uninstall-info-am uninstall-local .PHONY: GTAGS all all-am all-local check check-TESTS check-am clean \ - clean-checkPROGRAMS clean-generic clean-libtool distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ + clean-checkPROGRAMS clean-generic clean-libtool clean-local \ + distclean distclean-compile distclean-generic distclean-libtool \ + distclean-local distclean-tags distdir dvi dvi-am info info-am \ + install install-am install-data install-data-am \ + install-data-local install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic maintainer-clean-local mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - tags uninstall uninstall-am uninstall-info-am + tags uninstall uninstall-am uninstall-info-am uninstall-local + + +# Fortran module files can have different extensions and different names +# (e.g., different capitalizations) on different platforms. Write rules +# for them explicitly rather than trying to teach automake about them. +# They should be installed as headers and removed during clean. +maintainer-clean-local: clean-local +distclean-local: clean-local +clean-local: + if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \ + $(RM) *.$(F9XMODEXT); \ + fi + +install-data-local: + if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \ + $(CP) $(top_builddir)/$(subdir)/*.$(F9XMODEXT) $(includedir)/. ; \ + fi +uninstall-local: + if test -n "$(F9XMODEXT)" -a "X$(F9XMODEXT)" != "Xo"; then \ + if test -f "$(includedir)/hdf5.$(F9XMODEXT)" -o -f "$(includedir)/HDF5.$(F9XMODEXT)"; then \ + set -x; $(RM) $(includedir)/*.$(F9XMODEXT); \ + fi; \ + fi; \ + $(RM) $(bindir)/$(H5FC_NAME) # Put in dependencies to the THDF5 module so that things will be built # in the correct order. -thyperslab_wr.lo: $(srcdir)/thyperslab_wr.f90 thdf5.lo -ptesthdf5_fortran.lo: $(srcdir)/ptesthdf5_fortran.f90 thdf5.lo +thyperslab_wr.o: $(srcdir)/thyperslab_wr.f90 thdf5.lo +ptesthdf5_fortran.o: $(srcdir)/ptesthdf5_fortran.f90 thdf5.lo # lib/progs/tests targets recurse into subdirectories. build-* targets # build files in this directory. -- cgit v0.12