mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-21 01:04:10 +08:00
686e4f3501
Feature: make install now installs h5perf Description: h5perf is now installed in hdf5/bin during 'make install.' Same change as in the 1.6 branch. Platforms tested: mir
157 lines
5.7 KiB
Makefile
Executable File
157 lines
5.7 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, tests, and (un)install also recurse into 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
|
|
|
|
install-exec-local:
|
|
cd perform && $(MAKE) $(AM_MAKEFLAGS) install
|
|
uninstall-local:
|
|
cd perform && $(MAKE) $(AM_MAKEFLAGS) uninstall
|
|
|
|
# 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.
|