## HDF5 Library Makefile(.in) ## ## 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. ## top_srcdir=@top_srcdir@ top_builddir=../.. srcdir=@srcdir@ @COMMENCE@ ## Add include directory to the C preprocessor flags, add -lh5tools and ## -lhdf5 to the list of libraries. ## CPPFLAGS=-I. -I$(srcdir) -I$(top_builddir)/src -I$(top_srcdir)/src \ -I$(top_srcdir)/tools/lib @CPPFLAGS@ ## Test programs and scripts. ## TEST_PROGS=h5dumpgentest TEST_SCRIPTS=$(srcdir)/testh5dump.sh TEST_SCRIPTS_XML=$(srcdir)/testh5dumpxml.sh ## These are our main targets: library and tools. ## LIBTOOLS=../lib/libh5tools.la LIBHDF5=$(top_builddir)/src/libhdf5.la PUB_PROGS=h5dump PROGS=$(PUB_PROGS) $(TEST_PROGS) ## Source and object files for the library; do not install ## LIB_SRC= LIB_OBJ=$(LIB_SRC:.c=.lo) PUB_LIB= ## Temporary files. *.h5 are generated by h5dumpgentest. They should ## copied to the testfiles/ directory if update is required. MOSTLYCLEAN=*.h5 CLEAN= ## Source and object files for programs... ## PROG_SRC=h5dump.c h5dumpgentest.c PROG_OBJ=$(PROG_SRC:.c=.lo) PRIVATE_HDR=h5dump.h ## Source and object files for the tests ## TEST_SRC= TEST_OBJ=$(TEST_SRC:.c=.lo) ## Programs have to be built before they can be tested! ## check test _test: $(PROGS) ## How to build the programs...They all depend on the hdf5 library and ## the tools library compiled in this directory. ## $(PROGS): $(LIBTOOLS) $(LIBHDF5) h5dump: h5dump.lo @$(LT_LINK_EXE) $(CFLAGS) -o $@ h5dump.lo $(LIBTOOLS) $(LIBHDF5) $(LDFLAGS) $(LIBS) h5dumpgentest: h5dumpgentest.lo @$(LT_LINK_EXE) $(CFLAGS) -o $@ h5dumpgentest.lo $(LIBTOOLS) $(LIBHDF5) $(LDFLAGS) $(LIBS) ## Runs each test in order, passing $(TEST_FLAGS) to the program. ## Since tests are done in a shell loop, "make -i" does apply inside it. ## Set HDF5_Make_Ignore to a non-blank string to ignore errors inside the loop. ## The timestamps give a rough idea how much time the tests use. ## tests-xml: $(TEST_PROGS_XML) $(TEST_PROGS_PARA_XML) $(TEST_SCRIPTS_XML) $(LIB) check-xml test-xml _test-xml: tests-xml @echo "===Tests begin `date`===" @for test in $(TEST_PROGS_XML) dummy; do \ if test $$test != dummy; then \ echo "============================"; \ echo "Testing $$test $(TEST_FLAGS)"; \ echo "============================"; \ srcdir="$(srcdir)" \ $(RUNTEST) ./$$test $(TEST_FLAGS) || \ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \ break; \ echo ""; \ fi; \ done; \ test $$test = dummy || false @if test -n "$(TEST_PROGS_PARA_XML)"; then \ echo "**** Hint ****"; \ echo "Parallel test files reside in the current directory" \ "by default."; \ echo "Set HDF5_PARAPREFIX to use another directory. E.g.,"; \ echo " HDF5_PARAPREFIX=/PFS/user/me"; \ echo " export HDF5_PARAPREFIX"; \ echo " make check"; \ echo "**** end of Hint ****"; \ fi @for test in $(TEST_PROGS_PARA_XML) dummy; do \ if test $$test != dummy; then \ echo "============================"; \ echo "Testing $$test $(TEST_FLAGS)"; \ echo "============================"; \ srcdir="$(srcdir)" \ $(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \ break; \ echo ""; \ fi; \ done; \ test $$test = dummy || false @for test in $(TEST_SCRIPTS_XML) dummy; do \ if test $$test != dummy; then \ echo "============================"; \ echo "Testing $$test $(TEST_FLAGS)"; \ echo "============================"; \ RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \ srcdir="$(srcdir)" \ /bin/sh $$test $(TEST_FLAGS) || \ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \ break; \ echo ""; \ fi; \ done; \ test $$test = dummy || false @echo "===Tests ended `date`===" @for d in X $(SUBDIRS); do \ if test $$d != X; then \ (set -x; cd $$d && $(MAKE) tests) || exit 1; \ fi; \ done ## Run test with different Virtual File Driver check-vfd-xml: @for vfd in $(VFD_LIST) dummy; do \ if test $$vfd != dummy; then \ echo "============================"; \ echo "Testing Virtual File Driver $$vfd"; \ echo "============================"; \ HDF5_DRIVER=$$vfd $(MAKE) check; \ fi; \ done check-all: check check-xml @CONCLUDE@