hdf5/tools/Makefile.in
Robb Matzke ea3624e133 [svn-r1115] Changes since 19990302
----------------------

./INSTALL
./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
	Improvements for parallel library.  If you have a properly
	working mpicc you should be able to just say:

	    $ CC=mpicc ./configure

	and you will see

	    checking for mpirun... /usr/local/mpi/bin/mpirun
	    checking for parallel support files... skipped
	    checking how to run on one processor...
		     /usr/local/mpi/bin/mpirun -np 1
	    checking how to run in parallel...
		     /usr/local/mpi/bin/mpirun -np $$NPROCS

	To quote from the INSTALL file....

	*** Parallel vs. serial library
	The HDF5 library can be configured to use MPI and MPI-IO for
	parallelizm on a distributed multi-processor system. The easy
	way to do this is to have a properly installed parallel
	compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that
	executable as the value of the CC environment variable:
	[NOTE: mpcc is not tested yet]

	    $ CC=mpcc ./configure
	    $ CC=/usr/local/mpi/bin/mpicc ./configure

	If no such wrapper script is available then you must specify
	your normal C compiler along with the distribution of
	MPI/MPI-IO which is to be used (values other than `mpich' will
	be added at a later date):

	    $ ./configure --enable-parallel=mpich

	If the MPI/MPI-IO include files and/or libraries cannot be
	found by the compiler then their directories must be given as
	arguments to CPPFLAGS and/or LDFLAGS:

	    $ CPPFLAGS=-I/usr/local/mpi/include \
	      LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \
	      ./configure --enable-parallel=mpich

	If a parallel library is being built then configure attempts
	to determine how to run a parallel application on one
	processor and on many processors.  If the compiler is mpicc
	and the user hasn't specified values for RUNSERIAL and
	RUNPARALLEL then configure chooses `mpirun' from the same
	directory as `mpicc':

	    RUNSERIAL:    /usr/local/mpi/bin/mpirun -np 1
	    RUNPARALLEL:  /usr/local/mpi/bin/mpirun -np $${NPROCS:=2}

	The `$${NPROCS:=2}' will be substituted with the value of the
	NPROCS environment variable at the time `make check' is run
	(or the value 2).

./testpar/Makefile.in
	Saying `make check' (or `make test') will run the tests on two
	processors by default.  If you define NPROCS then that many
	processors are used instead:

	    $ NPROCS=4 make check

./configure.in
	Fixed (hopefully) bugs with detecting whether __attribute__
	and __FUNCTION__ are special keywords for the compiler.

./Makefile.in
	Saying `make install' from the top level directory shows
	instructions for using shared libraries.

./config/commence.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
	Moved the @top_srcdir@ into the makefiles because it was
	expanded too early and had the wrong value.

./INSTALL
	Added a warning that if the wrong version of hdf4 tools are
	installed then `make check' will fail in the tools directory.
1999-03-03 18:17:48 -05:00

65 lines
1.9 KiB
Makefile

# HDF5 Library Makefile(.in)
#
# Copyright (C) 1997 National Center for Supercomputing Applications.
# All rights reserved.
#
#
@COMMENCE@
top_srcdir=@top_srcdir@
# Add include directory to the C preprocessor flags, add -lh5tools and
# -lhdf5 to the list of libraries.
CPPFLAGS=-I../src -I. @CPPFLAGS@
LIBS=../src/libhdf5.la @LIBS@
# Test programs and scripts.
TEST_PROGS=
TEST_SCRIPTS=testh5dump.sh @TESTH5TOH4@
# These are our main targets: library and tools. We link this library
# statically because some systems can only link executables to a single
# shared library and libhdf5 is much bigger than libh5tools.
LT_LINK_LIB=$(LT) --mode=link $(CC) -static
LIB=libh5tools.a
PROGS=h5debug h5import h5ls h5repart h5dump @H5TOH4@
# Source and object files for the library.
LIB_SRC=h5tools.c h5findshd.c
LIB_OBJ=$(LIB_SRC:.c=.o)
# Source and object files for programs...
PROG_SRC=h5debug.c h5import.c h5ls.c h5repart.c h5dump.c h5dumputil.c h5toh4.c
PROG_OBJ=$(PROG_SRC:.c=.o)
PRIVATE_HDR=h5tools.h
# Source and object files for the tests
TEST_SRC=
TEST_OBJ=$(TEST_SRC:.c=.o)
# 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): $(LIB) ../src/libhdf5.la
h5debug: h5debug.o
$(LT_LINK_EXE) $(CFLAGS) -o $@ h5debug.o $(LIB) $(LDFLAGS) $(LIBS)
h5import: h5import.o
$(LT_LINK_EXE) $(CFLAGS) -o $@ h5import.o $(LIB) $(LDFLAGS) $(LIBS)
h5ls: h5ls.o
$(LT_LINK_EXE) $(CFLAGS) -o $@ h5ls.o $(LIB) $(LDFLAGS) $(LIBS)
h5repart: h5repart.o
$(LT_LINK_EXE) $(CFLAGS) -o $@ h5repart.o $(LIB) $(LDFLAGS) $(LIBS)
h5dump: h5dump.o h5dumputil.o
$(LT_LINK_EXE) $(CFLAGS) -o $@ h5dump.o h5dumputil.o $(LIB) $(LDFLAGS) $(LIBS)
h5toh4: h5toh4.o
$(LT_LINK_EXE) $(CFLAGS) -o $@ h5toh4.o $(LIB) $(LDFLAGS) $(LIBS)
@CONCLUDE@