1999-07-20 03:56:57 +08:00
|
|
|
##------------------------------------------------------------ -*- makefile -*-
|
|
|
|
## The following section of this makefile comes from the
|
|
|
|
## `./config/commence' file which was generated with config.status
|
|
|
|
## from `./config/commence.in'.
|
|
|
|
##-----------------------------------------------------------------------------
|
1997-08-16 00:40:24 +08:00
|
|
|
|
1999-07-20 03:56:57 +08:00
|
|
|
## Things that Make needs
|
1997-08-16 00:40:24 +08:00
|
|
|
.SUFFIXES:
|
2003-07-29 05:38:04 +08:00
|
|
|
.SUFFIXES: .c .f90 .cpp .o .lo
|
1997-08-16 00:40:24 +08:00
|
|
|
@SET_MAKE@
|
|
|
|
|
2000-01-30 08:37:28 +08:00
|
|
|
## Directories to search
|
1999-11-01 23:21:16 +08:00
|
|
|
@SEARCH@
|
|
|
|
|
1999-07-20 03:56:57 +08:00
|
|
|
## Programs
|
1997-08-16 00:40:24 +08:00
|
|
|
SHELL=/bin/sh
|
|
|
|
CC=@CC@
|
2003-07-29 05:38:04 +08:00
|
|
|
CXX=@CXX@
|
|
|
|
F9X=@F9X@
|
|
|
|
F9XMODEXT=@F9XMODEXT@
|
|
|
|
F9XMODFLAG=@F9XMODFLAG@
|
|
|
|
FSEARCH_DIRS=@FSEARCH_DIRS@
|
1998-07-03 09:16:22 +08:00
|
|
|
CFLAGS=@CFLAGS@
|
2003-07-29 05:38:04 +08:00
|
|
|
CXXFLAGS=@CXXFLAGS@
|
|
|
|
FFLAGS=@FFLAGS@
|
1997-08-16 00:40:24 +08:00
|
|
|
CPPFLAGS=@CPPFLAGS@
|
1998-11-13 23:06:06 +08:00
|
|
|
LDFLAGS=@LDFLAGS@
|
2000-09-20 04:33:18 +08:00
|
|
|
ROOT=@ROOT@
|
1997-08-16 00:40:24 +08:00
|
|
|
LIBS=@LIBS@
|
1998-03-06 13:34:36 +08:00
|
|
|
AR=@AR@
|
1997-08-16 00:40:24 +08:00
|
|
|
RANLIB=@RANLIB@
|
2001-08-02 05:00:25 +08:00
|
|
|
PERL=@PERL@
|
1997-08-16 00:40:24 +08:00
|
|
|
RM=rm -f
|
1998-04-22 04:32:07 +08:00
|
|
|
CP=cp
|
1997-08-16 00:40:24 +08:00
|
|
|
INSTALL=@INSTALL@
|
|
|
|
INSTALL_PROGRAM=@INSTALL_PROGRAM@
|
|
|
|
INSTALL_DATA=@INSTALL_DATA@
|
2003-11-05 02:10:59 +08:00
|
|
|
PARALLEL=@PARALLEL@
|
1998-11-13 23:06:06 +08:00
|
|
|
RUNSERIAL=@RUNSERIAL@
|
|
|
|
RUNPARALLEL=@RUNPARALLEL@
|
|
|
|
RUNTEST=$(RUNSERIAL)
|
[svn-r429] Changes since 19980616
----------------------
./html/tracing.html NEW
This entire update is to make it possible for the library to
print the name, arguments, and return value of every API call
without requiring any extra work from developers or app
programmers. This file describes how this all works.
./configure.in
Added the `--enable-tracing' switch. If you use it then the
library will include code to print API function names,
argument names and values, and function return values.
However, you must then turn on the tracing by setting the
HDF5_TRACE environment variable to a file descriptor number.
The default is `--disable-tracing' since enabling it causes a
slight increase in library size and a slowdown resulting from
an extra function call for each API function call (I couldn't
even measure the slowdown :-)
./bin/trace NEW
A perl script that synchronizes the H5TRACE() macro calls in
the *.c files with the function return type and formal
argument names and types. If you use GNU make and gcc then
this will be done automatically, otherwise just invoke this
script with the names of one or more .c files. You could do
it by hand to, but encoding argument types is a little tricky
at first.
./config/commence.in
Added the $(TRACE) macro, which defaults to the no-op.
Added -D_POSIX_SOURCE to the compiler command line.
./src/Makefile.in
Override the default for $(TRACE).
./config/depend.in
Automatically calls $(TRACE) to synchronize the H5TRACE()
macros in any source file that changed. As with makefile
dependencies, one way to force synchronization of all files is
to remove the `.depend' file.
./MANIFEST
Added new files.
./src/H5Eprivate.h
Modified HRETURN_ERROR() and HRETURN() for tracing.
./src/H5.c
./src/H5private.h
This is where the real tracing work really happens, in
H5_trace().
./src/H5A.c
./src/H5D.c
./src/H5G.c
./src/H5P.c
./src/H5S.c
./src/H5Z.c
Added H5TRACE() calls to all API functions. You don't really
need these changes if you don't want to merge your stuff
because they can be generated automatically by going to the
hdf5/src directory and saying ../bin/trace *.c
./src/H5T.c
Added H5TRACE() calls. Other stuff below.
./src/H5E.c
./src/H5Epublic.h
Added H5TRACE() calls. Created a type H5E_auto_t for the
`func' argument of H5Eset_auto() and H5Eget_auto() to make
those arguments easier to parse for tracing. It should also
make it clearer for users that don't know how to read
complicated ANSI data types.
./src/H5F.c
Added H5TRACE() calls. Changed a couple `uintn' argument
types in API functions to `unsigned int' since `uintn' part of
the API. Changed a few "can't" and "cant" error messages to
"unable to".
./src/H5Ipublic.h
Removed H5_DIRECTORY from the H5I_group_t enum. It wasn't
used anywhere.
./src/H5Tconv.c
Removed an unused label.
./src/H5Fistore.c
./src/H5Oattr.c
./src/H5Odtype.c
./src/H5T.c
./test/dsets.c
./test/dtypes.c
Fixed a warning about a variable possibly used before it's
initialized. Added __unused__ to turn off some unused
argument warnings that pop up when debugging is turned off and
optimizations are turned on.
1998-06-18 04:46:29 +08:00
|
|
|
TRACE=:
|
1997-08-16 00:40:24 +08:00
|
|
|
|
2003-07-29 05:38:04 +08:00
|
|
|
## Languages
|
|
|
|
HDF_FORTRAN="no"
|
|
|
|
HDF_CXX="no"
|
|
|
|
|
1999-07-20 03:56:57 +08:00
|
|
|
## Installation points
|
2003-07-23 06:36:39 +08:00
|
|
|
prefix=@prefix@
|
1997-08-16 00:40:24 +08:00
|
|
|
exec_prefix=@exec_prefix@
|
|
|
|
bindir=@bindir@
|
|
|
|
libdir=@libdir@
|
|
|
|
includedir=@includedir@
|
1999-10-16 05:23:47 +08:00
|
|
|
docdir=@exec_prefix@/doc
|
1999-04-16 03:57:50 +08:00
|
|
|
PUB_LIB=$(LIB)
|
1997-08-16 00:40:24 +08:00
|
|
|
|
2003-07-31 04:06:56 +08:00
|
|
|
## Obtain default library; the current version of libtool does not fully
|
|
|
|
## support C++ yet, and it does not know which default library to find.
|
|
|
|
## With libtool 1.5, this support can be removed. - BMR - Jan, 2002
|
|
|
|
DEFAULT_LIBS=@DEFAULT_LIBS@
|
|
|
|
|
1999-07-20 03:56:57 +08:00
|
|
|
## Shared libraries
|
2000-09-09 06:57:40 +08:00
|
|
|
LT_STATIC_EXEC=@LT_STATIC_EXEC@
|
2000-09-12 15:54:54 +08:00
|
|
|
DYNAMIC_DIRS=@DYNAMIC_DIRS@
|
1999-03-20 04:09:50 +08:00
|
|
|
LT=$(top_builddir)/libtool
|
2000-12-01 04:33:13 +08:00
|
|
|
LT_COMPILE=$(LT) --mode=compile $(CC)
|
2001-04-13 03:39:13 +08:00
|
|
|
LT_LINK_LIB=$(LT) --mode=link $(CC) -rpath $(libdir) $(DYNAMIC_DIRS)
|
2002-06-27 13:20:46 +08:00
|
|
|
LT_LINK_EXE=$(LT) --mode=link $(CC) $(LT_STATIC_EXEC) -dlopen self -rpath $(libdir) $(DYNAMIC_DIRS)
|
1999-03-03 01:15:35 +08:00
|
|
|
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)
|
|
|
|
|
2003-07-29 05:38:04 +08:00
|
|
|
# Fortran compilation/linking stuff
|
|
|
|
LT_FCOMPILE=$(LT) --mode=compile $(F9X)
|
2003-08-09 02:33:45 +08:00
|
|
|
LT_LINK_FLIB=$(LT) --mode=link $(F9X) -static -rpath $(libdir) $(DYNAMIC_DIRS)
|
|
|
|
LT_LINK_FEXE=$(LT) --mode=link $(F9X) -static $(LT_STATIC_EXEC) $(DYNAMIC_DIRS)
|
2003-07-29 05:38:04 +08:00
|
|
|
|
|
|
|
# C++ compilation/linking stuff
|
|
|
|
LT_CXX_COMPILE=$(LT) --mode=compile $(CXX)
|
|
|
|
LT_LINK_CXX_LIB=$(LT) --mode=link $(CXX) -static -rpath $(libdir) $(DYNAMIC_DIRS)
|
|
|
|
LT_LINK_CXX_EXE=$(LT) --mode=link $(CXX) -static $(LT_STATIC_EXEC) -dlopen self -rpath $(bindir) $(DYNAMIC_DIRS)
|
|
|
|
|
1999-07-20 03:56:57 +08:00
|
|
|
## Optional variables. We must declare them here because Irix pmake
|
|
|
|
## complains if it sees a reference to a variable which has never been
|
|
|
|
## defined. The main makefile is free to redefine these to something else.
|
1999-10-16 05:23:47 +08:00
|
|
|
DOCDIR=$(docdir)
|
2001-03-10 06:30:51 +08:00
|
|
|
SUBDOCDIR=
|
2003-05-09 07:19:15 +08:00
|
|
|
EXAMPLEDIR=$(docdir)/hdf5/examples/c
|
1999-07-20 03:56:57 +08:00
|
|
|
LIB=
|
|
|
|
LIB_SRC=
|
|
|
|
LIB_OBJ=
|
|
|
|
PUB_HDR=
|
2000-06-28 03:01:03 +08:00
|
|
|
PUB_PROGS=
|
2000-09-20 01:04:46 +08:00
|
|
|
PUB_DOCS=
|
2001-03-10 06:30:51 +08:00
|
|
|
PUB_SUBDOCS=
|
1999-07-20 03:56:57 +08:00
|
|
|
PROGS=
|
|
|
|
TEST_PROGS=
|
2001-09-11 12:04:15 +08:00
|
|
|
TEST_PROGS_PARA=
|
1999-07-20 03:56:57 +08:00
|
|
|
TEST_FLAGS=
|
|
|
|
TEST_SCRIPTS=
|
2003-06-30 23:19:44 +08:00
|
|
|
AUX_LIB=
|
|
|
|
EXAMPLE_PROGS=
|
|
|
|
SUBDIRS=
|
|
|
|
LIBHDF5=
|
1999-03-03 01:15:35 +08:00
|
|
|
|
1999-07-20 03:56:57 +08:00
|
|
|
## The default is to build the library and/or programs. We must build
|
|
|
|
## them sequentially.
|
1998-09-03 22:59:27 +08:00
|
|
|
all:
|
|
|
|
$(MAKE) lib
|
|
|
|
$(MAKE) progs
|
|
|
|
$(MAKE) tests
|
1997-08-29 00:36:57 +08:00
|
|
|
|
1999-07-20 03:56:57 +08:00
|
|
|
## 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.
|
2000-02-19 10:39:46 +08:00
|
|
|
## Invoke it by "gmake reconfigure".
|
1999-07-20 03:56:57 +08:00
|
|
|
##
|
|
|
|
## Graphically, the dependencies are:
|
|
|
|
##
|
|
|
|
## configure.in
|
|
|
|
## | |
|
|
|
|
## +-----------------+ +------------+
|
|
|
|
## | |
|
|
|
|
## stamp1 configure
|
|
|
|
## (H5config.h.in) |
|
|
|
|
## | | |
|
|
|
|
## | +---------------+ +-----------+
|
|
|
|
## | | |
|
|
|
|
## | config.status
|
|
|
|
## | |
|
|
|
|
## | +------------------+
|
|
|
|
## | |
|
|
|
|
## stamp2
|
|
|
|
## (H5config.h) 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.
|
2000-05-19 22:34:38 +08:00
|
|
|
## The `Makefile' target has been renamed to `reconfigure' so that the
|
|
|
|
## autoconf and make depend processes do not start up automatically.
|
|
|
|
## One must do `make reconfigure' explicitedly to start the process.
|
|
|
|
## (When srcdir is used and if more than one machines are running,
|
|
|
|
## this automatic Makefile/autoconf can get things unstable.)
|
1999-07-20 03:56:57 +08:00
|
|
|
##
|
1999-03-20 04:09:50 +08:00
|
|
|
STAMP1=$(top_builddir)/config/stamp1
|
|
|
|
STAMP2=$(top_builddir)/config/stamp2
|
1997-08-29 00:36:57 +08:00
|
|
|
|
1999-11-01 23:21:16 +08:00
|
|
|
MAKEFILE_PARTS=$(srcdir)/Makefile.in \
|
|
|
|
$(top_srcdir)/config/commence.in \
|
|
|
|
$(top_srcdir)/config/conclude.in \
|
|
|
|
$(top_srcdir)/config/depend1.in \
|
|
|
|
$(top_srcdir)/config/depend2.in \
|
|
|
|
$(top_srcdir)/config/depend3.in \
|
|
|
|
$(top_srcdir)/config/depend4.in \
|
|
|
|
$(top_srcdir)/config/dependN.in
|
1997-08-29 00:36:57 +08:00
|
|
|
|
1999-03-20 04:09:50 +08:00
|
|
|
$(STAMP1): $(top_srcdir)/configure.in
|
|
|
|
touch $(STAMP1)
|
|
|
|
-cd $(top_srcdir); autoheader
|
1997-08-29 00:36:57 +08:00
|
|
|
|
1999-03-20 04:09:50 +08:00
|
|
|
$(STAMP2): $(STAMP1) $(top_builddir)/config.status
|
|
|
|
touch $(STAMP2)
|
|
|
|
-cd $(top_builddir); \
|
|
|
|
CONFIG_FILES= CONFIG_HEADERS=src/H5config.h ./config.status
|
1997-08-29 00:36:57 +08:00
|
|
|
|
1999-03-20 04:09:50 +08:00
|
|
|
$(top_srcdir)/configure: $(top_srcdir)/configure.in
|
|
|
|
-cd $(top_srcdir); autoconf
|
1997-08-29 00:36:57 +08:00
|
|
|
|
1999-03-23 00:21:49 +08:00
|
|
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(STAMP1)
|
1999-03-20 04:09:50 +08:00
|
|
|
-cd $(top_builddir); ./config.status --recheck
|
1997-08-29 00:36:57 +08:00
|
|
|
|
2000-02-19 10:39:46 +08:00
|
|
|
# rerun the autoconf process if any configure components have changed.
|
|
|
|
reconfigure: $(MAKEFILE_PARTS) $(STAMP2)
|
1999-03-20 04:09:50 +08:00
|
|
|
-cd $(top_builddir); CONFIG_HEADERS= ./config.status
|
2000-10-24 06:58:09 +08:00
|
|
|
@for sub in @subdirs@ dummy; do \
|
2000-11-20 22:48:04 +08:00
|
|
|
if test $$sub != dummy; then \
|
|
|
|
-cd $$sub; $(MAKE) reconfigure; \
|
2000-10-24 06:58:09 +08:00
|
|
|
fi; \
|
|
|
|
done;
|
1997-08-29 00:36:57 +08:00
|
|
|
|
1999-07-20 03:56:57 +08:00
|
|
|
##-----------------------------------------------------------------------------
|
|
|
|
## The following section of this makefile comes from the middle of
|
|
|
|
## `Makefile.in' from this directory. It was generated by running
|
|
|
|
## `config.status'.
|
|
|
|
##-----------------------------------------------------------------------------
|