summaryrefslogtreecommitdiffstats
path: root/perform/Makefile.am
diff options
context:
space:
mode:
authorAlbert Cheng <acheng@hdfgroup.org>2011-01-28 23:58:14 (GMT)
committerAlbert Cheng <acheng@hdfgroup.org>2011-01-28 23:58:14 (GMT)
commitea7073d72a1f26e8ab278754903839931b6d0b97 (patch)
tree3cd7d4ebd0ee5ba24243be9467cf6723fa2d0550 /perform/Makefile.am
parent0a15d73625e223771a4292cfabfeb774fd9b0f11 (diff)
downloadhdf5-ea7073d72a1f26e8ab278754903839931b6d0b97.zip
hdf5-ea7073d72a1f26e8ab278754903839931b6d0b97.tar.gz
hdf5-ea7073d72a1f26e8ab278754903839931b6d0b97.tar.bz2
[svn-r20019] Bug 2019: h5perf or h5perf_serial is removed twice. Some systems like AIX do
not like it as it may get into a racing condition when "gmake -j N" is used-- two "rm" commands were trying to remove the same file. Solution: Rearranged the Makefile.am so that h5perf or h5perf_serial are built only once, that is through bin_PROGRAMS only. Bug 2135: h5perf_serial is not installed in --enable-parallel build. It was because in parallel build, h5perf_serial is not was not in the bin_PROGRAMS list but it was still being built and tested. Solution: Rearranged the Makefile.am code so that h5perf_serial is installed too. (It is easier to make cleaner code to install it than to build and test h5perf_serial but not test it.) Tested: Jam, both serial and parallel. Did not run h5committest because the changes are in perform/ directory only and I think Jam has given the changes in Makefile a complete test already.
Diffstat (limited to 'perform/Makefile.am')
-rw-r--r--perform/Makefile.am25
1 files changed, 17 insertions, 8 deletions
diff --git a/perform/Makefile.am b/perform/Makefile.am
index 6836a2b..4b44b43 100644
--- a/perform/Makefile.am
+++ b/perform/Makefile.am
@@ -23,11 +23,11 @@ include $(top_srcdir)/config/commence.am
INCLUDES=-I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/tools/lib
+# bin_PROGRAMS will be installed.
if BUILD_PARALLEL_CONDITIONAL
- bin_PROGRAMS=h5perf
- TEST_PROG_PARA=h5perf perf
+ bin_PROGRAMS=h5perf_serial h5perf
else
- bin_PROGRAMS=h5perf_serial
+ bin_PROGRAMS=h5perf_serial
endif
# Add h5perf and h5perf_serial specific linker flags here
@@ -38,16 +38,25 @@ h5perf_serial_LDFLAGS = $(LT_STATIC_EXEC) $(AM_LDFLAGS)
# specifying --enable-build-all at configure time.
# Also, some of these programs should only be built in parallel.
if BUILD_PARALLEL_CONDITIONAL
- PARA_BUILD_ALL=benchpar mpi-perf
+ PARA_BUILD_ALL=benchpar mpi-perf
endif
if BUILD_ALL_CONDITIONAL
- BUILD_ALL_PROGS=$(PARA_BUILD_ALL)
+ BUILD_ALL_PROGS=$(PARA_BUILD_ALL)
endif
-# These are the programs that `make all' or `make tests' will build and which
-# `make check' will run. List them in the order they should be run.
+# Define programs that will be run in 'make check'
+# List them in the order they should be run.
+# Parallel test programs.
+if BUILD_PARALLEL_CONDITIONAL
+ TEST_PROG_PARA=h5perf perf
+endif
+# Serial test programs.
TEST_PROG = iopipe chunk overhead zip_perf perf_meta h5perf_serial $(BUILD_ALL_PROGS)
-check_PROGRAMS=$(TEST_PROG_PARA) $(TEST_PROG)
+
+# check_PROGRAMS will be built but not installed. Do not any executable
+# that is in bin_PROGRAMS already. Otherwise, it will be removed twice in
+# "make clean" and some systems, e.g., AIX, do not like it.
+check_PROGRAMS= iopipe chunk overhead zip_perf perf_meta $(BUILD_ALL_PROGS) perf
h5perf_SOURCES=pio_perf.c pio_engine.c pio_timer.c
h5perf_serial_SOURCES=sio_perf.c sio_engine.c sio_timer.c