summaryrefslogtreecommitdiffstats
path: root/Makefile.am
diff options
context:
space:
mode:
authorJames Laird <jlaird@hdfgroup.org>2005-02-11 17:40:52 (GMT)
committerJames Laird <jlaird@hdfgroup.org>2005-02-11 17:40:52 (GMT)
commit3f0a35a4eab869793f5b3882da35a2fe0b683dbd (patch)
tree35c5a256e137aa8e16c120b4a59feab2cbeb2fe0 /Makefile.am
parent54f376edbb1bce24bff19fb6b7c3d298470356be (diff)
downloadhdf5-3f0a35a4eab869793f5b3882da35a2fe0b683dbd.zip
hdf5-3f0a35a4eab869793f5b3882da35a2fe0b683dbd.tar.gz
hdf5-3f0a35a4eab869793f5b3882da35a2fe0b683dbd.tar.bz2
[svn-r9988] Purpose:
Bug fix Description: pmake (on modi4, for instance) complains about undefined variables if it is run without the -V flag, which turns those errors to warnings. Solution: Added test to configure.in to see if $MAKE will allow Makefiles with undefined variables. If not, sets -V flag in AM_MAKEFLAGS. Ensured that all custom make targets use AM_MAKEFLAGS. Also defined all variables that caused errors in top-level Makefile.am. This means that pmake can be used to build hdf5 *from the top level only*. To run make from a subdirectory, still need to use -V flag (or use make or gmake). Platforms tested: modi4, heping, copper, sleipnir
Diffstat (limited to 'Makefile.am')
-rwxr-xr-xMakefile.am56
1 files changed, 40 insertions, 16 deletions
diff --git a/Makefile.am b/Makefile.am
index 46c9291..af641c0 100755
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,6 +21,20 @@
#
# Top-level HDF5 Makefile(.in)
+# pmake has issues if variables are undefined. Solve this problem in
+# top-level Makefile by defining all variables it complains about.
+# 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.
+CONFIG_STATUS_DEPENDENCIES=
+TAGS_DEPENDENCIES=
+TAGS_FILES=
+HEADERS=
+SOURCES=
+TEXINFOS=
+EXTRA_DIST=
+LISP=
+
include $(top_srcdir)/config/commence.am
# Define subdirectories to build.
@@ -35,17 +49,27 @@ include $(top_srcdir)/config/commence.am
# 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) \
@@ -63,17 +87,17 @@ test _test: check
lib progs:
@@SETX@; for d in $(SUBDIRS); do \
if test $$d != .; then \
- (cd $$d && $(MAKE) $@) || exit 1; \
+ (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) all
+ cd perform && $(MAKE) $(AM_MAKEFLAGS) all
tests:
@@SETX@; for d in $(SUBDIRS) perform; do \
if test $$d != .; then \
- (cd $$d && $(MAKE) $@) || exit 1; \
+ (cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
done
@@ -82,47 +106,47 @@ tests:
clean-local:
@@SETX@; for d in docs examples perform; do \
if test -f $$d/Makefile; then \
- (cd $$d && $(MAKE) clean) || exit 1; \
+ (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) mostlyclean) || exit 1; \
+ (cd $$d && $(MAKE) $(AM_MAKEFLAGS) mostlyclean) || exit 1; \
fi; \
done
# 'make install-all' also installs docs and examples
install-all:
- $(MAKE) install
- $(MAKE) install-doc
+ $(MAKE) $(AM_MAKEFLAGS) install
+ $(MAKE) $(AM_MAKEFLAGS) install-doc
uninstall-all:
- $(MAKE) uninstall
- $(MAKE) uninstall-doc
+ $(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) $@) || exit 1; \
+ (cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
done
# Install documentation and examples
install-doc:
- $(MAKE) install-examples
- (cd doc && $(MAKE) $@) || exit 1;
+ $(MAKE) $(AM_MAKEFLAGS) install-examples
+ (cd doc && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1;
uninstall-doc:
- $(MAKE) uninstall-examples
- (cd doc && $(MAKE) $@) || exit 1;
+ $(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) installcheck
+ $(MAKE) $(AM_MAKEFLAGS) installcheck
installcheck-local:
- (cd examples && $(MAKE) $@) || exit 1;
+ (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.