hdf5/config/commence.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

118 lines
3.8 KiB
Makefile

#------------------------------------------------------------- -*- makefile -*-
# The following section of this makefile comes from the
# `./config/commence' file which was generated with config.status
# from `./config/commence.in'.
#------------------------------------------------------------------------------
# Things that Make needs
.SUFFIXES:
.SUFFIXES: .c .o .lo
@SET_MAKE@
# Programs
SHELL=/bin/sh
CC=@CC@
CFLAGS=@CFLAGS@
CPPFLAGS=@CPPFLAGS@
LDFLAGS=@LDFLAGS@
LIBS=@LIBS@
AR=@AR@
RANLIB=@RANLIB@
RM=rm -f
CP=cp
INSTALL=@INSTALL@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
INSTALL_DATA=@INSTALL_DATA@
RUNSERIAL=@RUNSERIAL@
RUNPARALLEL=@RUNPARALLEL@
RUNTEST=$(RUNSERIAL)
TRACE=:
# Installation points
ROOT=@ROOT@
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
libdir=@libdir@
includedir=@includedir@
# Shared libraries
LT=$(top_srcdir)/libtool
LT_COMPILE=$(LT) --mode=compile $(CC)
LT_LINK_LIB=$(LT) --mode=link $(CC) -rpath $(libdir)
LT_LINK_EXE=$(LT) --mode=link $(CC)
LT_RUN=$(LT) --mode=execute
LT_INSTALL_PROG=$(LT) --mode=install $(INSTALL_PROGRAM)
LT_INSTALL_LIB=$(LT) --mode=install $(INSTALL_DATA)
LT_UNINSTALL=$(LT) --mode=uninstall $(RM)
# The default is to build the library and/or programs. We must build
# them sequentially.
all:
$(MAKE) lib
$(MAKE) progs
$(MAKE) tests
# The following rules insure that the Makefile is up-to-date by rerunning
# various autoconf components (although not all versions of make assume
# that the makefile is implicitly a target). We use time stamp files to
# keep track of the most recent update of H5config.h.in and H5config.h
# because autoheader and config.status don't update the modification time
# if the contents don't change.
#
# Graphically, the dependencies are:
#
# configure.in
# | |
# +--------------------+ +-------------------+
# | |
# stamp1 configure
# | |
# | config.status
# | | |
# | +-------------------------------------+ |
# | | |
# stamp2 Makefile.in et al |
# | | |
# | +-----------+ +------+
# +-----------------------------+ | |
# | | |
# Makefile
#
# A side effect of updating stamp1 is to generate H5config.h.in and a
# side effect of updating stamp2 is to generate H5config.h. When using
# a version of make that doesn't treat the makefile as the initial target
# the user may want to occassionally type `make Makefile' in any source
# directory.
#
STAMP1=$(ROOT)/config/stamp1
STAMP2=$(ROOT)/config/stamp2
MAKEFILE_PARTS=$(ROOT)/config/commence.in Makefile.in \
$(ROOT)/config/conclude.in $(ROOT)/config/depend.in
$(STAMP1): $(ROOT)/configure.in
-(cd $(ROOT); \
touch $(STAMP1); \
autoheader)
$(STAMP2): $(STAMP1) $(ROOT)/config.status
-(cd $(ROOT); \
touch $(STAMP2); \
CONFIG_FILES= CONFIG_HEADERS=src/H5config.h ./config.status)
$(ROOT)/configure: $(ROOT)/configure.in
-(cd $(ROOT); autoconf)
$(ROOT)/config.status: $(ROOT)/configure
-(cd $(ROOT); ./config.status --recheck)
Makefile: $(MAKEFILE_PARTS) $(ROOT)/config.status $(STAMP2)
-(cd $(ROOT); CONFIG_HEADERS= ./config.status)
#------------------------------------------------------------------------------
# The following section of this makefile comes from the middle of `Makefile.in'
# from this directory. It was generated by running `config.status'.
#------------------------------------------------------------------------------