diff options
author | James Laird <jlaird@hdfgroup.org> | 2005-02-01 03:17:02 (GMT) |
---|---|---|
committer | James Laird <jlaird@hdfgroup.org> | 2005-02-01 03:17:02 (GMT) |
commit | 26303241febadd20aea77fc8a1d48f05823170af (patch) | |
tree | 4ba1d92050fa6cc33feab6a38bc9778f71bbb146 /Makefile.am | |
parent | 9f17319144fca94a852fd500487b0e4ae48e0997 (diff) | |
download | hdf5-26303241febadd20aea77fc8a1d48f05823170af.zip hdf5-26303241febadd20aea77fc8a1d48f05823170af.tar.gz hdf5-26303241febadd20aea77fc8a1d48f05823170af.tar.bz2 |
[svn-r9902] Purpose:
Configuration feature
Description:
HDF5 now uses automake to generate Makefiles
Solution:
Makefile.in files are now generated from Makefile.am files.
To reconfigure (after chaning a Makefile.am or configure.in):
/bin/sh bin/reconfigure.sh
Platforms tested:
Many
Diffstat (limited to 'Makefile.am')
-rwxr-xr-x | Makefile.am | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am new file mode 100755 index 0000000..46c9291 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,128 @@ +# +# 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) + +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. + +if BUILD_PARALLEL_CONDITIONAL + TESTPARALLEL_DIR =testpar +endif +if BUILD_CXX_CONDITIONAL + CXX_DIR =c++ +endif +if BUILD_FORTRAN_CONDITIONAL + FORTRAN_DIR =fortran +endif +if BUILD_HDF5_HL_CONDITIONAL + HDF5_HL_DIR =hl +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) $@) || exit 1; \ + fi; \ + done + +# Make all and make tests also create tests in perform directory +all-local: + cd perform && $(MAKE) all +tests: + @@SETX@; for d in $(SUBDIRS) perform; do \ + if test $$d != .; then \ + (cd $$d && $(MAKE) $@) || 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) clean) || exit 1; \ + fi; \ + done + +mostlyclean-local: + @@SETX@; for d in docs examples perform; do \ + if test -f $$d/Makefile; then \ + (cd $$d && $(MAKE) mostlyclean) || exit 1; \ + fi; \ + done + +# 'make install-all' also installs docs and examples +install-all: + $(MAKE) install + $(MAKE) install-doc +uninstall-all: + $(MAKE) uninstall + $(MAKE) uninstall-doc + +# Install examples in this directory and recursively +install-examples uninstall-examples: + @@SETX@; for d in examples $(HDF5_INTERFACES); do \ + (cd $$d && $(MAKE) $@) || exit 1; \ + done + +# Install documentation and examples +install-doc: + $(MAKE) install-examples + (cd doc && $(MAKE) $@) || exit 1; + +uninstall-doc: + $(MAKE) uninstall-examples + (cd doc && $(MAKE) $@) || exit 1; + +# `make check-install' or `make installcheck' checks that examples can +# be successfully built +check-install: + $(MAKE) installcheck + +installcheck-local: + (cd examples && $(MAKE) $@) || exit 1; + +# Don't include conclude.am in root Makefile; tests target needs to +# recurse into perform directory as well as reguar subdirs. |