hdf5/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

110 lines
3.8 KiB
Makefile

# Top-level HDF5 Makefile(.in)
#
# Copyright (C) 1997 National Center for Supercomputing Applications.
# All rights reserved.
#
#
# 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.
#
@COMMENCE@
top_srcdir=@top_srcdir@
# Subdirectories in build-order
SUBDIRS=src test tools @TESTPARALLEL@
##############################################################################
# T A R G E T S
#
# all: Build libraries, header files, tests, and programs in the
# various subdirectories but does not run tests or install the
# library, header files, or programs. The components can be
# built individually with the targets lib, progs, and tests.
#
# check: Test the uninstalled library to make sure it works. You may
# also say `test' or `_test' (`test' doesn't work from the top
# level directory for some versions of make because `test' is
# also a directory).
#
# install: Installs libraries, header files, programs, and documentation
# in the various directories under the prefix directory (lib,
# include, bin, man, info). Use the `--prefix=PATH' option
# to `configure' (or `config.status') or say `--help' for
# other alternatives. The default prefix is `/usr/local'.
#
# uninstall: Delete all the installed files that the `install' target
# created (but not the noninstalled files such as `make all'
# created).
#
# clean: Removes temporary files except those that record the
# configuration and those that are part of the distribution.
#
# mostlyclean: Like `clean' except it doesn't delete a few files like
# libraries, programs, and/or generated header files because
# regenerating them is rarely necessary and takes a lot of time.
#
# distclean: Deletes all files that are created by configuring or building
# HDF5. If you have unpacked the source and built HDF5 without
# creating any other files, then `make distclean' will leave
# only the files that were in the distrubution.
#
# maintainer-clean:
# Like `distclean' except it deletes more files. It deletes
# all generated files. This target is not intended for normal
# users; it deletes files that may require special tools to
# rebuild.
#
# TAGS: Updates the tags table for this program.
#
# dep depend: Builds dependencies in all subdirectories. These targets
# might not be available on certain combinations of make
# programs and C compilers. At the other extreme, the GNU
# make used in combination with gcc will maintain dependency
# information automatically.
#
lib progs tests check test _test uninstall TAGS dep depend:
@@SETX@; for d in $(SUBDIRS); do \
(cd $$d && $(MAKE) $@) || exit 1; \
done
install:
@@SETX@; for d in $(SUBDIRS); do \
(cd $$d && $(MAKE) $@) || exit 1; \
done
@$(LT) --mode=finish $(libdir);
# Number format detection
H5detect:
(cd src && $(MAKE) $@)
H5Tinit.c:
(cd src && $(MAKE) $@)
.PHONY: all lib progs test _test install uninstall dep depend clean \
mostlyclean distclean maintainer-clean
clean mostlyclean:
@@SETX@; for d in $(SUBDIRS); do \
(cd $$d && $(MAKE) $@); \
done
distclean:
@@SETX@; for d in $(SUBDIRS); do \
(cd $$d && $(MAKE) $@); \
done
-$(RM) config/commence config/conclude config/depend
-$(RM) config.cache config.log config.status src/H5config.h
-$(RM) Makefile
-$(CP) Makefile.dist Makefile
maintainer-clean:
@echo "This command is intented for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
@@SETX@; for d in $(SUBDIRS); do \
(cd $$d && $(MAKE) $@); \
done
-$(RM) config.cache config.log config.status src/H5config.h
-$(RM) configure src/H5config.h.in