mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
25df1908bc
Automake version upgrade Description: Upgraded automake version from 1.6.2 to 1.9.5. Changed bin/reconfigure script to use automake 1.9.5. Changed configure.in and Makefiles to use new FCFLAGS and FC variables instead of FFLAGS and F9X. Automake and configure should now do the lion's share of the work supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will be cleaned later). Altered how configure handles pmake; now root-level Makefile.in is processed by bin/reconfigure to have a .MAKEFLAGS target, since automake no longer allows us to define unused variables. Configure now always checks for C++ compiler even if it is not used, since automake thinks this is the Right Thing To Do and will break otherwise. Platforms tested: Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
106 lines
3.8 KiB
Makefile
106 lines
3.8 KiB
Makefile
#
|
|
# Copyright by the Board of Trustees of the University of Illinois.
|
|
# All rights reserved.
|
|
#
|
|
# This file is part of HDF5. The full HDF5 copyright notice, including
|
|
# terms governing use, modification, and redistribution, is contained in
|
|
# the files COPYING and Copyright.html. COPYING can be found at the root
|
|
# of the source code distribution tree; Copyright.html can be found at the
|
|
# root level of an installed copy of the electronic HDF5 document set and
|
|
# is linked from the top-level documents page. It can also be found at
|
|
# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have
|
|
# access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu.
|
|
##
|
|
## Makefile.am
|
|
## Run automake to generate a Makefile.in from this file.
|
|
##
|
|
#
|
|
# HDF5-Fortran Examples Makefile(.in)
|
|
#
|
|
|
|
include $(top_srcdir)/config/commence.am
|
|
|
|
# These are the programs that 'make all' or 'make tests' will build and
|
|
# that 'make check' will run. List them in the order in which they should
|
|
# be run.
|
|
# We don't tell automake about these programs so that it doesn't try to
|
|
# compile them with the regular fortran compiler.
|
|
TEST_PROG=dsetexample fileexample rwdsetexample attrexample groupexample \
|
|
grpsexample grpdsetexample hyperslab selectele grpit refobjexample \
|
|
refregexample mountexample compound
|
|
|
|
# Tell configure.in when to build examples
|
|
EXTRA_PROG=$(TEST_PROG)
|
|
EXAMPLE_PROG=$(EXTRA_PROG)
|
|
|
|
# List files to be installed here
|
|
INSTALL_FILES=dsetexample.f90 fileexample.f90 rwdsetexample.f90 \
|
|
attrexample.f90 groupexample.f90 grpsexample.f90 grpdsetexample.f90 \
|
|
hyperslab.f90 selectele.f90 grpit.f90 refobjexample.f90 \
|
|
refregexample.f90 mountexample.f90 compound.f90
|
|
|
|
# Tell automake which files to clean
|
|
CLEANFILES=*.h5 $(EXTRA_PROG)
|
|
|
|
# Tell automake how to build examples using h5fc
|
|
# Additional dependencies for the examples are listed below
|
|
$(EXTRA_PROG): $(LIBHDF5) $(LIBH5F)
|
|
if BUILD_PARALLEL_CONDITIONAL
|
|
$(H5FC_PP) $(FCFLAGS) -o $@ $(srcdir)/$@.f90;
|
|
else
|
|
$(H5FC) $(FCFLAGS) -o $@ $(srcdir)/$@.f90;
|
|
endif
|
|
|
|
# Tell automake how to install examples
|
|
EXAMPLEDIR=$(docdir)/hdf5/examples/fortran
|
|
|
|
$(EXAMPLEDIR):
|
|
-$(top_srcdir)/bin/mkdirs $@
|
|
|
|
install-data-local:
|
|
$(MAKE) install-examples
|
|
uninstall-local:
|
|
$(MAKE) uninstall-examples
|
|
|
|
# We're installing source files, not the example programs. Add .f90 to each
|
|
# example program to get its source (and do the same when uninstalling).
|
|
install-examples: $(EXAMPLEDIR)
|
|
@for f in X $(INSTALL_FILES); do \
|
|
if test $$f != X; then \
|
|
(set -x; $(INSTALL_DATA) $(top_srcdir)/fortran/examples/$$f $(EXAMPLEDIR)/. || exit 1);\
|
|
fi; \
|
|
done
|
|
|
|
uninstall-examples:
|
|
@if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \
|
|
set -x; cd $(EXAMPLEDIR) && $(RM) $(EXAMPLE_PROG); \
|
|
fi
|
|
|
|
check-install:
|
|
$(MAKE) installcheck
|
|
installcheck-local:
|
|
$(MAKE) check
|
|
|
|
# List dependencies for each example. Normally, automake would take
|
|
# care of this for us, but if we tell automake about the programs it
|
|
# will try to build them with the normal C compiler, not h5cc. This is
|
|
# an inelegant way of solving the problem.
|
|
# All programs share the same build rule and a dependency on the main hdf5
|
|
# and fortran libraries above.
|
|
dsetexample: dsetexample.f90
|
|
fileexample: fileexample.f90
|
|
rwdsetexample: rwdsetexample.f90
|
|
attrexample: attrexample.f90
|
|
groupexample: groupexample.f90
|
|
grpsexample: grpsexample.f90
|
|
grpdsetexample: grpdsetexample.f90
|
|
hyperslab: hyperslab.f90
|
|
selectele: selectele.f90
|
|
grpit: grpit.f90
|
|
refobjexample: refobjexample.f90
|
|
refregexample: refregexample.f90
|
|
mountexample: mountexample.f90
|
|
compound: compound.f90
|
|
|
|
include $(top_srcdir)/config/conclude.am
|