summaryrefslogtreecommitdiffstats
path: root/tools/Makefile.in
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1998-11-13 15:06:06 (GMT)
committerRobb Matzke <matzke@llnl.gov>1998-11-13 15:06:06 (GMT)
commit071aa057aa9bd24145d8796850f41705cd1988ca (patch)
tree48be10bae2e7b536ea8e989550546f36cd5cba57 /tools/Makefile.in
parent17869ffb875211e2f1c0f7fcafca1ef972254b71 (diff)
downloadhdf5-071aa057aa9bd24145d8796850f41705cd1988ca.zip
hdf5-071aa057aa9bd24145d8796850f41705cd1988ca.tar.gz
hdf5-071aa057aa9bd24145d8796850f41705cd1988ca.tar.bz2
[svn-r907] Changes since 19981111
---------------------- ./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.
Diffstat (limited to 'tools/Makefile.in')
-rw-r--r--tools/Makefile.in45
1 files changed, 30 insertions, 15 deletions
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 3de71b1..d6840bf 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -6,18 +6,20 @@
#
@COMMENCE@
-# Add include directory to the C preprocessor flags.
+# Add include directory to the C preprocessor flags, add the -lh5tools to the
+# libraries.
CPPFLAGS=-I../src -I. @CPPFLAGS@
+LIBS=../src/libhdf5.a libh5tools.a @LIBS@
# Tools test targets.
# Use /bin/sh to use because the test is actually a shell script file.
TESTS=testh5dump
RUNTEST=/bin/sh
-# These are our main targets:
-PROGS=h5debug h5import h5ls h5repart h5dump
+# These are our main targets: library, programs, and tests
LIB=libh5tools.a
-LIBS=../src/libhdf5.a libh5tools.a @LIBS@
+PROGS=h5debug h5import h5ls h5repart h5dump @H5TOH4@
+TESTS=@TESTH5TOH4@
# Source and object files for the library.
LIB_SRC=h5tools.c
@@ -28,26 +30,39 @@ PROG_SRC=h5debug.c h5import.c h5ls.c h5repart.c h5dump.c h5dumputil.c
PROG_OBJ=$(PROG_SRC:.c=.o)
PRIVATE_HDR=h5tools.h
+# Source and object files for the tests
+TEST_SRC=testh5toh4.c
+TEST_OBJ=$(TEST_SRC:.c=.o)
+
# Programs have to be built before they can be tested!
test _test: $(PROGS)
-# How to build the programs...
-h5debug: h5debug.o $(LIB) ../src/libhdf5.a
- $(CC) $(CFLAGS) -o $@ h5debug.o $(LIBS)
+# How to build the programs... They all depend on the hdf5 library and
+# the tools library compiled in this directory.
+$(PROGS): ../src/libhdf5.a $(LIB)
-h5import: h5import.o $(LIB) ../src/libhdf5.a
- $(CC) $(CFLAGS) -o $@ h5import.o $(LIBS)
+h5debug: h5debug.o
+ $(CC) $(CFLAGS) -o $@ h5debug.o $(LDFLAGS) $(LIBS)
-h5ls: h5ls.o $(LIB) ../src/libhdf5.a
- $(CC) $(CFLAGS) -o $@ h5ls.o $(LIBS)
+h5import: h5import.o
+ $(CC) $(CFLAGS) -o $@ h5import.o $(LDFLAGS) $(LIBS)
-h5repart: h5repart.o $(LIB) ../src/libhdf5.a
- $(CC) $(CFLAGS) -o $@ h5repart.o $(LIBS)
+h5ls: h5ls.o
+ $(CC) $(CFLAGS) -o $@ h5ls.o $(LDFLAGS) $(LIBS)
-h5dump: h5dump.o h5dumputil.o $(LIB) ../src/libhdf5.a
- $(CC) $(CFLAGS) -o $@ h5dump.o h5dumputil.o $(LIBS)
+h5repart: h5repart.o
+ $(CC) $(CFLAGS) -o $@ h5repart.o $(LDFLAGS) $(LIBS)
+h5dump: h5dump.o h5dumputil.o
+ $(CC) $(CFLAGS) -o $@ h5dump.o h5dumputil.o $(LDFLAGS) $(LIBS)
+
+# How to build the tests. The testh5dump is a shell script that we
+# copy from its permanent home to a temporary name because `make
+# clean' will remove the temporary name.
testh5dump: testh5dump.sh
cp testh5dump.sh $@
+testh5toh4: testh5toh4.o
+ $(CC) $(CFLAGS) -o $@ testh5toh4 $(LDFLAGS) $(LIBS)
+
@CONCLUDE@