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.
152 lines
5.5 KiB
Makefile
Executable File
152 lines
5.5 KiB
Makefile
Executable File
#
|
|
# 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.
|
|
##
|
|
#
|
|
# This makefile mostly just reinvokes make in the various subdirectories
|
|
# but does so in the correct order. You can alternatively invoke make from
|
|
# each subdirectory manually.
|
|
#
|
|
# Top-level HDF5 Makefile(.in)
|
|
|
|
# pmake has issues if variables are undefined. Solve this problem in
|
|
# top-level Makefile by defining .MAKEFLAGS target to -V before pmake can
|
|
# encounter any undefined variables.
|
|
# Automake resists putting anything but variable definitions first in
|
|
# a Makefile.in, so we'll put a placebo comment here and use sed in
|
|
# bin/reconfigure to turn it into the .MAKEFLAGS target. Sigh. -JL 2005
|
|
# Configure should set AM_MAKEFLAGS to -V to solve this problem in
|
|
# subdirectories.
|
|
# NOTE: This means that invoking pmake in a subdirectory will not work.
|
|
#xxx.MAKEFLAGS:@AM_MAKEFLAGS@
|
|
#xxx $(MAKE) all
|
|
#xxx
|
|
|
|
include $(top_srcdir)/config/commence.am
|
|
|
|
# Define subdirectories to build.
|
|
## Automake understands that `make distclean' should recurse into
|
|
## conditional subdirectories even if `make all' does not.
|
|
## We need to list examples and doc in the DIST_SUBDIRS variable
|
|
## so that they also will be visited by `make distclean'
|
|
# Add this directory to SUBDIRS so that examples get built after tools
|
|
# but before examples in extra interfaces (c++ and fortran).
|
|
# Since we're explicitly listing DIST_SUBDIRS, we also need to list
|
|
# directories that are only conditionally built (so that their Makefiles
|
|
# are cleaned as well).
|
|
# Note that `make clean' will not affect the examples or doc directories.
|
|
|
|
# Conditionals. These conditionals are defined during configure
|
|
# Define each variable to empty if it is not used to placate pmake
|
|
if BUILD_PARALLEL_CONDITIONAL
|
|
TESTPARALLEL_DIR =testpar
|
|
else
|
|
TESTPARALLEL_DIR=
|
|
endif
|
|
if BUILD_CXX_CONDITIONAL
|
|
CXX_DIR =c++
|
|
else
|
|
CXX_DIR=
|
|
endif
|
|
if BUILD_FORTRAN_CONDITIONAL
|
|
FORTRAN_DIR =fortran
|
|
else
|
|
FORTRAN_DIR=
|
|
endif
|
|
if BUILD_HDF5_HL_CONDITIONAL
|
|
HDF5_HL_DIR =hl
|
|
else
|
|
HDF5_HL_DIR=
|
|
endif
|
|
|
|
SUBDIRS = src test $(TESTPARALLEL_DIR) tools . $(CXX_DIR) $(FORTRAN_DIR) \
|
|
$(HDF5_HL_DIR)
|
|
DIST_SUBDIRS = src test testpar tools . c++ fortran hl perform examples \
|
|
doc
|
|
|
|
# Some files generated during configure that should be cleaned
|
|
DISTCLEANFILES=src/H5config.h src/H5pubconf.h config/stamp1 config/stamp2
|
|
|
|
# Define rules for lib, progs, check, and tests.
|
|
# These simply involve recursing into subdirectories.
|
|
test _test: check
|
|
|
|
lib progs:
|
|
@@SETX@; for d in $(SUBDIRS); do \
|
|
if test $$d != .; then \
|
|
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
|
fi; \
|
|
done
|
|
|
|
# Make all and make tests also create tests in perform directory
|
|
all-local:
|
|
cd perform && $(MAKE) $(AM_MAKEFLAGS) all
|
|
tests:
|
|
@@SETX@; for d in $(SUBDIRS) perform; do \
|
|
if test $$d != .; then \
|
|
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
|
fi; \
|
|
done
|
|
|
|
# Clean and mostlyclean need to recurse into docs, examples, and perform
|
|
# directories unless they've already been distcleaned.
|
|
clean-local:
|
|
@@SETX@; for d in docs examples perform; do \
|
|
if test -f $$d/Makefile; then \
|
|
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) clean) || exit 1; \
|
|
fi; \
|
|
done
|
|
|
|
mostlyclean-local:
|
|
@@SETX@; for d in docs examples perform; do \
|
|
if test -f $$d/Makefile; then \
|
|
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) mostlyclean) || exit 1; \
|
|
fi; \
|
|
done
|
|
|
|
# 'make install-all' also installs docs and examples
|
|
install-all:
|
|
$(MAKE) $(AM_MAKEFLAGS) install
|
|
$(MAKE) $(AM_MAKEFLAGS) install-doc
|
|
uninstall-all:
|
|
$(MAKE) $(AM_MAKEFLAGS) uninstall
|
|
$(MAKE) $(AM_MAKEFLAGS) uninstall-doc
|
|
|
|
# Install examples in this directory and recursively
|
|
install-examples uninstall-examples:
|
|
@@SETX@; for d in examples $(HDF5_INTERFACES); do \
|
|
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
|
done
|
|
|
|
# Install documentation and examples
|
|
install-doc:
|
|
$(MAKE) $(AM_MAKEFLAGS) install-examples
|
|
(cd doc && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1;
|
|
|
|
uninstall-doc:
|
|
$(MAKE) $(AM_MAKEFLAGS) uninstall-examples
|
|
(cd doc && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1;
|
|
|
|
# `make check-install' or `make installcheck' checks that examples can
|
|
# be successfully built
|
|
check-install:
|
|
$(MAKE) $(AM_MAKEFLAGS) installcheck
|
|
|
|
installcheck-local:
|
|
(cd examples && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1;
|
|
|
|
# Don't include conclude.am in root Makefile; tests target needs to
|
|
# recurse into perform directory as well as reguar subdirs.
|