summaryrefslogtreecommitdiffstats
path: root/test/Makefile.in
blob: 20b699b4c403ce920d26d2db3dc581b0d3d1c176 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# HDF5 Library Test Makefile(.in)
#
# Copyright (C) 1997 National Center for Supercomputing Applications.
#                    All rights reserved.
#
# 
top_srcdir=@top_srcdir@
top_builddir=..
srcdir=@srcdir@
VPATH=.:@srcdir@
@COMMENCE@

# Add include directory to the C preprocessor flags and the h5test and hdf5
# libraries to the library list.
CPPFLAGS=-I. -I$(srcdir) -I../src -I$(top_srcdir)/src @CPPFLAGS@

# These are our main targets. They should be listed in the order to be
# executed, generally most specific tests to least specific tests.
RUNTEST=$(LT_RUN)
TEST_PROGS=testhdf5 lheap ohdr stab gheap hyperslab istore bittests dtypes   \
      dsets cmpd_dset extend external links unlink big mtime fillval mount   \
      flush1 flush2 enum
TIMINGS=iopipe chunk ragged overhead

# The libh5test.a library provides common support code for the tests. We link
# this library statically because some systems can only link executables to
# a single shared library and libhdf5 is much bigger than libh5test.
LT_LINK_LIB=$(LT) --mode=link $(CC) -static -rpath $(libdir)
LIBHDF5=../src/libhdf5.la
LIB=libh5test.la
LIB_SRC=h5test.c
LIB_OBJ=$(LIB_SRC:.c=.lo)
PUB_LIB=

# Temporary files.  These files are the ones created by setting the
# HDF5_NOCLEANUP environment variable and running `make test' without
# specifying a file prefix or low-level driver.  Changing the file
# prefix or low-level driver with environment variables will influence 
# the temporary file name in ways that the makefile is not aware of.
MOSTLYCLEAN=cmpd_dset.h5 dataset.h5 extend.h5 istore.h5 tfile1.h5 tfile2.h5  \
	    tfile3.h5 th5s1.h5 lheap.h5 ohdr.h5 stab1.h5 stab2.h5            \
	    extern_1.h5 extern_2.h5 extern_3.h5 extern_1a.raw extern_1b.raw  \
	    extern_2a.raw extern_2b.raw extern_3a.raw extern_3b.raw          \
	    extern_4a.raw extern_4b.raw iopipe.raw iopipe.h5 gheap0.h5       \
	    gheap1.h5 gheap2.h5 gheap3.h5 gheap4.h5 links.h5 chunk.h5        \
	    big.data big[0-9][0-9][0-9][0-9][0-9].h5 dtypes1.h5 dtypes2.h5   \
        tattr.h5 tselect.h5 mtime.h5 ragged.h5 unlink.h5 overhead.h5     \
        fillval_[0-9].h5 fillval.raw mount_[0-9].h5 trefer[12].h5 tvltypes.h5 \
	    flush.h5 enum1.h5
CLEAN=$(TIMINGS)

# Source and object files for programs...  The TEST_SRC list contains all the
# source files and is used for things like dependencies, archiving, etc.  The
# other source lists are for the individual tests, the files of which may
# overlap with other tests.
TEST_SRC=big.c bittests.c chunk.c cmpd_dset.c dsets.c dtypes.c extend.c  \
     external.c fillval.c flush1.c flush2.c gheap.c h5test.c hyperslab.c \
     iopipe.c istore.c lheap.c links.c mount.c mtime.c ohdr.c overhead.c \
	 ragged.c stab.c tattr.c testhdf5.c tfile.c th5s.c tmeta.c trefer.c  \
	 tselect.c tvltypes.c unlink.c enum.c
TEST_OBJ=$(TEST_SRC:.c=.lo)

# Private header files (not to be installed)...
PRIVATE_HDR=testhdf5.h

# Additional targets
.PHONY: timings _timings
timings _timings: $(TIMINGS)
	@for timing in $(TIMINGS) dummy; do				      \
	   if test $$timing != dummy; then				      \
	      echo "Running $$timing $(TEST_FLAGS)"; 			      \
	      $(RUNTEST) ./$$timing $(TEST_FLAGS) || exit 1; 		      \
	   fi;								      \
	done;

# How to build the tests...  They all depend on the test and hdf5 libraries.
$(TEST_PROGS): $(LIB) $(LIBHDF5)
TESTHDF5_OBJ=testhdf5.lo tattr.lo tfile.lo tmeta.lo trefer.lo tselect.lo tvltypes.lo th5s.lo
testhdf5: $(TESTHDF5_OBJ)
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ $(TESTHDF5_OBJ) $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

lheap: lheap.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ lheap.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

ohdr: ohdr.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ ohdr.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

stab: stab.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ stab.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

gheap: gheap.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ gheap.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

dsets: dsets.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ dsets.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

bittests: bittests.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ bittests.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

dtypes: dtypes.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ dtypes.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

hyperslab: hyperslab.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ hyperslab.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

istore: istore.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ istore.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

cmpd_dset: cmpd_dset.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ cmpd_dset.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

extend: extend.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ extend.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

external: external.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ external.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

iopipe: iopipe.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ iopipe.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

big: big.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ big.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

links: links.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ links.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

chunk: chunk.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ chunk.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

mtime: mtime.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ mtime.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

ragged: ragged.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ ragged.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

unlink: unlink.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ unlink.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

overhead: overhead.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ overhead.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

fillval: fillval.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ fillval.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

mount: mount.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ mount.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

flush1: flush1.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ flush1.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

flush2: flush2.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ flush2.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

enum: enum.lo
	@$(LT_LINK_EXE) $(CFLAGS) -o $@ enum.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)

@CONCLUDE@