mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-17 16:10:24 +08:00
---------------------- ./INSTALL Added instructions about specifying a path for GNU zlib and HDF4 headers and library. Added comments for each of the tool names. Added h5toh4 as a tool name. ./configure.in ./conigure [REGENERATED] ./src/H5config.h.in [REGENERATED] The config/* scripts get invoked with $CC_BASENAME set the base name of the compiler in order to make it easier to handle setting compiler flags for different compilers in a big case statement. For instance, if $CC has the value /usr/local/mpi/bin/mpicc -ansi -64 then $CC_BASENAME will be `mpicc'. The $CC_BASENAME is not set if $CC is not set. Fixed alignment in `configure --help'. An include and/or library path can be specified for GNU zlib if configure can't find it in normal places. The "normal" means wherever your compiler normally searches, including search paths you've added through environment variables like CPPFLAGS and LDFLAGS. The INSTALL file has instructions. The `-ljpeg' library is detected. If `ssize_t' is not found then a #define is added to H5config.h similar to what we already do for `size_t'. We detect the hdf5 header file `mfhdf.h' and libraries `-lmfhdf' and `-ldf' and if found define the H5TOH4 and TESTH5TOH4 Makefile variables. The user can specify an include and/or library path. The INSTALL file has instructions. The `RUNTEST' variable has been split into `RUNSERIAL' and `RUNPARALLEL' because these are different commands. The makefile still uses `RUNTEST', which defaults to the RUNSERIAL value. The new testpar/Makefile.in sets RUNTEST to the RUNPARALLEL value. The default RUNSERIAL value is empty and the default RUNPARALLEL value is `mpirun -np 2'. These can both be overridden in the config/* files. To make the value the empty string set it like `RUNPARALLEL=none' in the config/* file. The new testpar/Makefile is generated from testpar/Makefile.in ./config/commence.in Added the RUNSERIAL and RUNPARALLEL makefile definitions. ./src/Makefile.in The `H5detect' program is run with RUNSERIAL, which is empty on all platforms except intel-osf1 (ASCI/Red) ./config/conclude.in Removed the `.c.a:' implicit rule -- we don't use it any more. ./config/BlankForm ./config/alpha-dec ./config/alpha-dec-osf4.0 ./config/freebsd2.2.7 ./config/hpux10.20 ./config/hpux9.03 ./config/intel-osf1 ./config/irix5.3 ./config/irix6.2 ./config/irix64 ./config/linux ./config/powerpc-ibm-aix4.2.1.0 ./config/rs6000-ibm-aix4.1.4.0 ./config/solaris2.5 All of these files have been updated to hande multiple compilers. Most of them assume `cc' if CC is not set. The documentation in `BlankForm' has been updated and documentation in the other files refer to `BlankForm'. The intel-osf1 uses LDFLAGS instead of LIBS to specify the extra library search paths. ./examples/Makefile.in ./test/Makefile.in ./tools/Makefile.in Simplified by grouping some dependency information together more succinctly. The tools Makefile.in has been modified to work with the `h5toh4' and `testh5toh4' programs. Until Paul checks these in you may have problems compiling. If so, just create files h5toh4.c and testh5toh4.c that contain: #include <stdio.h> int main(int argc, char *argv[]) { fprintf(stderr, "%s: not implemented\n", argv[0]); return 1; } ./src/H5public.h Removed definition for `ssize_t' since this is now handled by configure in H5config.h with a #define. ./MANIFEST ./testpar/Makefile.in [NEW] Added a makefile for parallel tests. As soon as we get this working properly we can remove the other four makefiles in that directory and maintain just one.
107 lines
3.5 KiB
Makefile
107 lines
3.5 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
|
|
@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@
|
|
|
|
# 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'.
|
|
#------------------------------------------------------------------------------
|