Makefile.am 57.1 KB
Newer Older
1
## Process this file with automake to produce Makefile.in
2

3
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4
4

Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
5
AM_FCFLAGS = $(SCALAPACK_FCFLAGS) $(FC_MODINC)modules
6
AM_LDFLAGS = $(SCALAPACK_LDFLAGS)
7

Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
8
9
FCLD = @ACTUAL_FC@

10
# libelpa
11
12
13
14
lib_LTLIBRARIES = libelpa@SUFFIX@.la
libelpa@SUFFIX@_la_LINK = $(FCLINK) $(AM_LDFLAGS) -version-info $(ELPA_SO_VERSION)
libelpa@SUFFIX@_la_LIBADD = libelpa@SUFFIX@_public.la libelpa@SUFFIX@_private.la
libelpa@SUFFIX@_la_SOURCES =
15

16
17
# parts with public interface
noinst_LTLIBRARIES = libelpa@SUFFIX@_public.la
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
18
libelpa@SUFFIX@_public_la_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)modules $(FC_MODINC)private_modules
19
libelpa@SUFFIX@_public_la_SOURCES = \
20
21
22
23
24
25
26
27
  src/elpa1/elpa1_auxiliary.F90 \
  src/elpa.F90 \
  src/elpa_api.F90 \
  src/elpa_constants.F90 \
  src/general/elpa_utilities.F90

if ENABLE_LEGACY
libelpa@SUFFIX@_public_la_SOURCES += \
28
  src/elpa_driver/legacy_interface/elpa.F90 \
29
  src/elpa1/legacy_interface/elpa1.F90 \
30
31
  src/elpa2/legacy_interface/elpa2.F90 \
  src/elpa2/legacy_interface/elpa2_utilities.F90 \
32
  src/elpa1/legacy_interface/elpa1_auxiliary.F90
33
endif
34
35
36

# internal parts
noinst_LTLIBRARIES += libelpa@SUFFIX@_private.la
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
37
libelpa@SUFFIX@_private_la_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
38
libelpa@SUFFIX@_private_la_SOURCES = \
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
  src/elpa_impl.F90 \
  src/helpers/mod_precision.F90 \
  src/helpers/mod_mpi.F90 \
  src/helpers/mod_mpi_stubs.F90 \
  src/elpa_generated_fortran_interfaces.F90 \
  src/elpa2/mod_redist_band.F90 \
  src/elpa2/mod_pack_unpack_cpu.F90 \
  src/elpa2/mod_compute_hh_trafo.F90 \
  src/helpers/aligned_mem.F90 \
  src/elpa1/elpa1_utilities.F90 \
  src/elpa1/elpa1_compute_private.F90 \
  src/elpa2/elpa2_determine_workload.F90 \
  src/elpa2/elpa2_compute.F90 \
  src/elpa2/kernels/mod_single_hh_trafo_real.F90 \
  src/GPU/check_for_gpu.F90 \
  src/GPU/mod_cuda.F90 \
  src/elpa2/GPU/interface_c_kernel.F90 \
  src/elpa2/mod_pack_unpack_gpu.F90 \
  src/elpa2/qr/qr_utils.F90 \
  src/elpa2/qr/elpa_qrkernels.F90 \
  src/elpa2/qr/elpa_pdlarfb.F90 \
  src/elpa2/qr/elpa_pdgeqrf.F90 \
  src/elpa1/elpa1.F90 \
  src/elpa2/elpa2.F90 \
  src/elpa_c_interface.c \
  src/elpa_index.c

if ENABLE_LEGACY
libelpa@SUFFIX@_private_la_SOURCES += \
68
  src/elpa_driver/legacy_interface/elpa_driver_c_interface.F90 \
69
  src/elpa1/legacy_interface/elpa_1stage_c_interface.F90 \
70
  src/elpa2/legacy_interface/elpa_2stage_c_interface.F90
71
endif
72

73
EXTRA_libelpa@SUFFIX@_private_la_DEPENDENCIES = \
74
75
76
77
78
79
80
  src/elpa1/elpa_reduce_add_vectors.X90 \
  src/elpa1/elpa_transpose_vectors.X90 \
  src/elpa1/elpa1_compute_template.X90 \
  src/elpa2/elpa2_compute_real_template.X90 \
  src/elpa2/elpa2_compute_complex_template.X90 \
  src/elpa1/elpa1_template.X90 \
  src/elpa2/elpa2_template.X90 \
81
82
83
  src/elpa2/qr/qr_utils_template.X90 \
  src/elpa2/qr/elpa_pdlarfb_template.X90 \
  src/elpa2/qr/elpa_pdgeqrf_template.X90 \
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
  src/elpa2/elpa2_bandred_template.X90 \
  src/elpa2/elpa2_symm_matrix_allreduce_real_template.X90 \
  src/elpa2/elpa2_trans_ev_band_to_full_template.X90 \
  src/elpa2/elpa2_tridiag_band_template.X90 \
  src/elpa2/elpa2_trans_ev_tridi_to_band_template.X90 \
  src/elpa2/elpa2_herm_matrix_allreduce_complex_template.X90 \
  src/elpa2/kernels/elpa2_kernels_real_template.X90 \
  src/elpa2/kernels/elpa2_kernels_complex_template.X90 \
  src/elpa2/kernels/elpa2_kernels_simple_template.X90 \
  src/elpa2/pack_unpack_cpu.X90 \
  src/elpa2/pack_unpack_gpu.X90 \
  src/elpa2/compute_hh_trafo.X90 \
  src/elpa2/redist_band.X90 \
  src/general/sanity.X90 \
  src/elpa1/elpa_cholesky_template.X90 \
  src/elpa1/elpa_invert_trm.X90 \
  src/elpa1/elpa_multiply_a_b.X90 \
  src/elpa1/elpa_solve_tridi_impl_public.X90 \
  src/general/precision_macros.h
103

104
105
if ENABLE_LEGACY
EXTRA_libelpa@SUFFIX@_private_la_DEPENDENCIES += \
106
  src/elpa1/legacy_interface/elpa1_template.X90 \
107
  src/elpa2/legacy_interface/elpa2_template.X90 \
108
  src/elpa1/legacy_interface/elpa1_c_interface_template.X90 \
109
  src/elpa2/legacy_interface/elpa2_c_interface_template.X90 \
110
  src/elpa_driver/legacy_interface/elpa_driver_c_interface_template.X90 \
111
112
113
114
115
116
117
118
119
  src/elpa1/legacy_interface/elpa_solve_tridi_c_interface_template.X90 \
  src/elpa1/legacy_interface/elpa_mult_at_b_c_interface_template.X90 \
  src/elpa1/legacy_interface/elpa_mult_ah_b_c_interface_template.X90 \
  src/elpa1/legacy_interface/elpa_invert_trm_c_interface_template.X90 \
  src/elpa1/legacy_interface/elpa_cholesky_c_interface_template.X90 \
  src/elpa1/legacy_interface/elpa_cholesky_template.X90 \
  src/elpa1/legacy_interface/elpa_invert_trm.X90 \
  src/elpa1/legacy_interface/elpa_multiply_a_b.X90 \
  src/elpa1/legacy_interface/elpa_solve_tridi.X90
120
endif
121

122
if HAVE_DETAILED_TIMINGS
123
124
125
126
127
128
129
130
131
132
libelpa@SUFFIX@_private_la_SOURCES += \
  src/helpers/timer.F90 \
  src/ftimings/ftimings.F90 \
  src/ftimings/ftimings_type.F90 \
  src/ftimings/ftimings_value.F90 \
  src/ftimings/highwater_mark.c \
  src/ftimings/resident_set_size.c \
  src/ftimings/time.c \
  src/ftimings/virtual_memory.c \
  src/ftimings/papi.c
133
else
134
135
libelpa@SUFFIX@_private_la_SOURCES += \
  src/helpers/timer_dummy.F90
136
137
endif

138
if WITH_GPU_VERSION
Andreas Marek's avatar
Andreas Marek committed
139
140
  libelpa@SUFFIX@_private_la_SOURCES +=  src/GPU/cudaFunctions.cu src/GPU/cuUtils.cu src/elpa2/GPU/ev_tridi_band_gpu_c_v2.cu
  EXTRA_libelpa@SUFFIX@_private_la_DEPENDENCIES +=   src/elpa2/GPU/ev_tridi_band_gpu_c_v2_complex_template.Xcu src/elpa2/GPU/ev_tridi_band_gpu_c_v2_real_template.Xcu
141
142
endif

143
if !WITH_MPI
144
  libelpa@SUFFIX@_private_la_SOURCES += src/helpers/mod_time_c.F90
145
if !HAVE_DETAILED_TIMINGS
146
  libelpa@SUFFIX@_private_la_SOURCES += src/ftimings/time.c
147
148
149
endif
endif

Andreas Marek's avatar
Andreas Marek committed
150
if WITH_REAL_GENERIC_KERNEL
151
  libelpa@SUFFIX@_private_la_SOURCES +=  src/elpa2/kernels/elpa2_kernels_real.F90
152
153
endif

Andreas Marek's avatar
Andreas Marek committed
154
if WITH_COMPLEX_GENERIC_KERNEL
155
  libelpa@SUFFIX@_private_la_SOURCES +=  src/elpa2/kernels/elpa2_kernels_complex.F90
156
157
endif

Andreas Marek's avatar
Andreas Marek committed
158
if WITH_REAL_GENERIC_SIMPLE_KERNEL
159
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_simple.F90
160
161
endif

Andreas Marek's avatar
Andreas Marek committed
162
if WITH_COMPLEX_GENERIC_SIMPLE_KERNEL
163
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_simple.F90
164
165
endif

Andreas Marek's avatar
Andreas Marek committed
166
if WITH_REAL_BGP_KERNEL
167
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_bgp.f90
168
169
endif

Andreas Marek's avatar
Andreas Marek committed
170
if WITH_REAL_BGQ_KERNEL
171
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_bgq.f90
172
173
endif

174
if WITH_REAL_SSE_ASSEMBLY_KERNEL
175
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_asm_x86_64_double_precision.s
176
if WANT_SINGLE_PRECISION_REAL
177
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_asm_x86_64_single_precision.s
178
endif
179

Andreas Marek's avatar
Andreas Marek committed
180
else
181
if WITH_COMPLEX_SSE_ASSEMBLY_KERNEL
182
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_asm_x86_64_double_precision.s
183
if WANT_SINGLE_PRECISION_COMPLEX
184
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_asm_x86_64_single_precision.s
185
endif
186
187
endif
endif
Andreas Marek's avatar
Andreas Marek committed
188

189
if WITH_REAL_SSE_BLOCK2_KERNEL
190
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_2hv_double_precision.c
191
if WANT_SINGLE_PRECISION_REAL
192
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_2hv_single_precision.c
193
endif
194
195
endif

Andreas Marek's avatar
Andreas Marek committed
196
if WITH_REAL_AVX_BLOCK2_KERNEL
197
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_2hv_double_precision.c
198
if WANT_SINGLE_PRECISION_REAL
199
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_2hv_single_precision.c
200
endif
201
202
else
if WITH_REAL_AVX2_BLOCK2_KERNEL
203
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_2hv_double_precision.c
204
if WANT_SINGLE_PRECISION_REAL
205
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_2hv_single_precision.c
206
endif
207
endif
208
209
endif

210
if WITH_REAL_AVX512_BLOCK2_KERNEL
211
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_2hv_double_precision.c
212
if WANT_SINGLE_PRECISION_REAL
213
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_2hv_single_precision.c
214
endif
215
216
217
endif


218
if WITH_REAL_SSE_BLOCK4_KERNEL
219
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_4hv_double_precision.c
220
if WANT_SINGLE_PRECISION_REAL
221
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_4hv_single_precision.c
222
endif
223
224
endif

Andreas Marek's avatar
Andreas Marek committed
225
if WITH_REAL_AVX_BLOCK4_KERNEL
226
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_4hv_double_precision.c
227
if WANT_SINGLE_PRECISION_REAL
228
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_4hv_single_precision.c
229
endif
230
231
else
if WITH_REAL_AVX2_BLOCK4_KERNEL
232
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_4hv_double_precision.c
233
if WANT_SINGLE_PRECISION_REAL
234
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_4hv_single_precision.c
235
endif
236
endif
237
238
endif

239
if WITH_REAL_AVX512_BLOCK4_KERNEL
240
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_4hv_double_precision.c
241
if WANT_SINGLE_PRECISION_REAL
242
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_4hv_single_precision.c
243
endif
244
245
246
247
endif



248
if WITH_REAL_SSE_BLOCK6_KERNEL
249
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_6hv_double_precision.c
250
if WANT_SINGLE_PRECISION_REAL
251
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_6hv_single_precision.c
252
endif
253
254
endif

Andreas Marek's avatar
Andreas Marek committed
255
if WITH_REAL_AVX_BLOCK6_KERNEL
256
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_6hv_double_precision.c
257
if WANT_SINGLE_PRECISION_REAL
258
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_6hv_single_precision.c
259
endif
260
261
else
if WITH_REAL_AVX2_BLOCK6_KERNEL
262
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_6hv_double_precision.c
263
if WANT_SINGLE_PRECISION_REAL
264
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_6hv_single_precision.c
265
endif
266
endif
267
268
endif

269
if WITH_REAL_AVX512_BLOCK6_KERNEL
270
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_6hv_double_precision.c
271
if WANT_SINGLE_PRECISION_REAL
272
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_6hv_single_precision.c
273
endif
274
275
276
endif


277
if WITH_COMPLEX_SSE_BLOCK1_KERNEL
278
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_sse_1hv_double_precision.c
279
if WANT_SINGLE_PRECISION_COMPLEX
280
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_sse_1hv_single_precision.c
281
endif
282
283
endif

Andreas Marek's avatar
Andreas Marek committed
284
if WITH_COMPLEX_AVX_BLOCK1_KERNEL
285
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_1hv_double_precision.c
286
if WANT_SINGLE_PRECISION_COMPLEX
287
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_1hv_single_precision.c
288
endif
289
290
else
if WITH_COMPLEX_AVX2_BLOCK1_KERNEL
291
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_1hv_double_precision.c
292
if WANT_SINGLE_PRECISION_COMPLEX
293
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_1hv_single_precision.c
294
endif
295
endif
296
297
endif

298
299

if WITH_COMPLEX_AVX512_BLOCK1_KERNEL
300
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx512_1hv_double_precision.c
301
if WANT_SINGLE_PRECISION_COMPLEX
302
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx512_1hv_single_precision.c
303
endif
304
305
endif

306
if WITH_COMPLEX_SSE_BLOCK2_KERNEL
307
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_sse_2hv_double_precision.c
308
if WANT_SINGLE_PRECISION_COMPLEX
309
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_sse_2hv_single_precision.c
310
endif
311
312
endif

Andreas Marek's avatar
Andreas Marek committed
313
if WITH_COMPLEX_AVX_BLOCK2_KERNEL
314
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_2hv_double_precision.c
315
if WANT_SINGLE_PRECISION_COMPLEX
316
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_2hv_single_precision.c
317
endif
318
319
else
if WITH_COMPLEX_AVX2_BLOCK2_KERNEL
320
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_2hv_double_precision.c
321
if WANT_SINGLE_PRECISION_COMPLEX
322
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_2hv_single_precision.c
323
endif
324
endif
325
326
endif

327
if WITH_COMPLEX_AVX512_BLOCK2_KERNEL
328
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx512_2hv_double_precision.c
329
if WANT_SINGLE_PRECISION_COMPLEX
330
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx512_2hv_single_precision.c
331
endif
332
333
endif

334
# Cuda files
335
.cu.lo:
336
	NVCC="$(NVCC)" libtool --mode=compile --tag=CC $(top_srcdir)/nvcc_wrap $(NVCCFLAGS) $(LDFLAGS) -I$(top_builddir)/ -I$(top_srcdir)/  -c $< -o $@
Andreas Marek's avatar
Andreas Marek committed
337

338
339
340
341
342
# Assembly files
LTCCASCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CCAS) $(AM_CCASFLAGS) \
	$(CCASFLAGS)

343
344
345
include generated_headers.am
BUILT_SOURCES = $(generated_headers)

346
# install public headers and Fortran modules files in the include/ dir
347
elpa_includedir = $(includedir)/elpa@SUFFIX@-@PACKAGE_VERSION@
348
nobase_elpa_include_HEADERS = $(wildcard modules/*) $(wildcard elpa/*)
349

Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
350
dist_man_MANS = \
351
352
353
354
  man/elpa2_print_kernels.1

if ENABLE_LEGACY
dist_man_MANS += \
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
  man/solve_evp_real.3 \
  man/solve_evp_real_1stage_double.3 \
  man/solve_evp_complex.3 \
  man/solve_evp_complex_1stage_double.3 \
  man/solve_evp_real_2stage_double.3 \
  man/solve_evp_complex_2stage_double.3 \
  man/elpa_solve_evp_real_1stage_double.3 \
  man/elpa_solve_evp_complex_1stage_double.3 \
  man/elpa_solve_evp_real_2stage_double.3 \
  man/elpa_solve_evp_complex_2stage_double.3 \
  man/get_elpa_row_col_comms.3 \
  man/get_elpa_communicators.3 \
  man/elpa_mult_at_b_real_double.3 \
  man/elpa_mult_at_b_real_single.3 \
  man/elpa_mult_ah_b_complex_double.3 \
  man/elpa_mult_ah_b_complex_single.3 \
  man/elpa_invert_trm_real_double.3 \
  man/elpa_invert_trm_real_single.3 \
  man/elpa_invert_trm_complex_double.3 \
  man/elpa_invert_trm_complex_single.3 \
  man/elpa_solve_evp_real_double.3 \
  man/elpa_solve_evp_real_single.3 \
  man/elpa_solve_evp_complex_double.3 \
  man/elpa_solve_evp_complex_single.3 \
379
380
381
  man/elpa_tests.1
endif

Andreas Marek's avatar
Andreas Marek committed
382

383
if WANT_SINGLE_PRECISION_REAL
384
if ENABLE_LEGACY
385
386
387
388
389
dist_man_MANS += \
  man/solve_evp_real_1stage_single.3 \
  man/elpa_solve_evp_real_1stage_single.3 \
  man/elpa_solve_evp_real_2stage_single.3 \
  man/solve_evp_real_2stage_single.3
390
endif
391
endif
392
393

if WANT_SINGLE_PRECISION_COMPLEX
394
if ENABLE_LEGACY
395
396
397
398
399
400
dist_man_MANS += \
  man/solve_evp_complex_1stage_single.3 \
  man/elpa_solve_evp_complex_1stage_single.3 \
  man/elpa_solve_evp_complex_2stage_single.3 \
  man/solve_evp_complex_2stage_single.3
endif
401
endif
402

403
dist_doc_DATA = README.md USERS_GUIDE.md INSTALL.md CONTRIBUTING.md LICENSE Changelog COPYING/COPYING COPYING/gpl.txt COPYING/lgpl.txt
404

405
406
# pkg-config stuff
pkgconfigdir = $(libdir)/pkgconfig
407
pkgconfig_DATA = @PKG_CONFIG_FILE@
408

409
410
# programs
bin_PROGRAMS = \
411
  elpa2_print_kernels@SUFFIX@
412

413
414
415
416
417
if ENABLE_LEGACY
bin_PROGRAMS += \
  elpa_tests@SUFFIX@
endif

418
noinst_PROGRAMS = \
419
420
421
422
  test_real_double_1stage \
  test_real_double_2stage \
  test_complex_double_1stage \
  test_complex_double_2stage \
423
  double_instance@SUFFIX@ \
424
425
426
427
428
429
  real_2stage_banded@SUFFIX@ \
  complex_2stage_banded@SUFFIX@ \
  real_2stage@SUFFIX@ \
  complex_2stage@SUFFIX@ \
  real_1stage@SUFFIX@ \
  complex_1stage@SUFFIX@
430
431
432

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
433
434
435
436
437
  test_single_real_1stage \
  test_single_real_2stage \
  single_real_2stage_banded@SUFFIX@ \
  single_real_2stage@SUFFIX@ \
  single_real_1stage@SUFFIX@
438
439
440
441
endif

if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
442
443
444
445
446
  test_single_complex_1stage \
  test_single_complex_2stage \
  single_complex_2stage_banded@SUFFIX@ \
  single_complex_2stage@SUFFIX@ \
  single_complex_1stage@SUFFIX@
447
448
449
450
endif

if WITH_GPU_VERSION
noinst_PROGRAMS += \
451
452
453
454
  complex_1stage_gpu@SUFFIX@ \
  complex_2stage_gpu@SUFFIX@ \
  real_1stage_gpu@SUFFIX@ \
  real_2stage_gpu@SUFFIX@
455
456
457

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
458
459
  single_real_1stage_gpu@SUFFIX@ \
  single_real_2stage_gpu@SUFFIX@
460
461
462
463
endif

if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
464
465
  single_complex_1stage_gpu@SUFFIX@ \
  single_complex_2stage_gpu@SUFFIX@
466
467
468
469
470
471
endif
endif


if ENABLE_LEGACY
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
  legacy_real_1stage@SUFFIX@ \
  legacy_complex_1stage@SUFFIX@ \
  legacy_real_2stage@SUFFIX@ \
  legacy_real_2stage_default@SUFFIX@ \
  legacy_real_2stage_qr@SUFFIX@ \
  legacy_real_2stage_api@SUFFIX@ \
  legacy_complex_2stage@SUFFIX@ \
  legacy_complex_2stage_default@SUFFIX@ \
  legacy_complex_2stage_api@SUFFIX@ \
  legacy_real_driver@SUFFIX@ \
  legacy_complex_driver@SUFFIX@ \
  legacy_real_toeplitz@SUFFIX@ \
  legacy_real_transpose_multiply@SUFFIX@ \
  legacy_complex_transpose_multiply@SUFFIX@ \
  legacy_real_cholesky@SUFFIX@ \
  legacy_real_invert_trm@SUFFIX@ \
  legacy_complex_cholesky@SUFFIX@ \
  legacy_complex_invert_trm@SUFFIX@ \
  legacy_real_1stage_with_c@SUFFIX@ \
  legacy_real_1stage_c_version@SUFFIX@ \
  legacy_complex_1stage_c_version@SUFFIX@ \
  legacy_real_2stage_c_version@SUFFIX@ \
  legacy_complex_2stage_c_version@SUFFIX@ \
  legacy_real_driver_c_version@SUFFIX@ \
  legacy_complex_driver_c_version@SUFFIX@
Andreas Marek's avatar
Andreas Marek committed
497

498
499
if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
500
501
502
503
504
505
506
507
508
  legacy_single_complex_1stage@SUFFIX@ \
  legacy_single_complex_2stage@SUFFIX@ \
  legacy_single_complex_2stage_default@SUFFIX@ \
  legacy_single_complex_transpose_multiply@SUFFIX@ \
  legacy_single_complex_driver@SUFFIX@ \
  legacy_single_complex_cholesky@SUFFIX@ \
  legacy_single_complex_invert_trm@SUFFIX@ \
  legacy_single_complex_2stage_api@SUFFIX@ \
  legacy_single_complex_driver_c_version@SUFFIX@
509
510
511
512
endif

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
513
514
515
516
517
518
519
520
521
522
523
  legacy_single_real_1stage@SUFFIX@ \
  legacy_single_real_2stage@SUFFIX@ \
  legacy_single_real_2stage_default@SUFFIX@ \
  legacy_single_real_2stage_qr@SUFFIX@ \
  legacy_single_real_2stage_api@SUFFIX@ \
  legacy_single_real_driver@SUFFIX@ \
  legacy_single_real_transpose_multiply@SUFFIX@ \
  legacy_single_real_cholesky@SUFFIX@ \
  legacy_single_real_invert_trm@SUFFIX@ \
  legacy_single_real_driver_c_version@SUFFIX@ \
  legacy_single_real_toeplitz@SUFFIX@
524
525
526
527
endif

if WITH_GPU_VERSION
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
528
529
530
531
  legacy_complex_1stage_gpu@SUFFIX@ \
  legacy_real_1stage_gpu@SUFFIX@ \
  legacy_complex_2stage_gpu@SUFFIX@ \
  legacy_real_2stage_gpu@SUFFIX@
532
533
534

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
535
536
  legacy_single_real_1stage_gpu@SUFFIX@ \
  legacy_single_real_2stage_gpu@SUFFIX@
537
538
539
540
endif

if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
541
542
  legacy_single_complex_1stage_gpu@SUFFIX@ \
  legacy_single_complex_2stage_gpu@SUFFIX@
543
endif
544
545
546
endif
endif

Andreas Marek's avatar
Andreas Marek committed
547
build_lib = libelpatest@SUFFIX@.la libelpa@SUFFIX@.la
548
549
550

# library with shared sources for the test files
noinst_LTLIBRARIES += libelpatest@SUFFIX@.la
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
551
libelpatest@SUFFIX@_la_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
552
libelpatest@SUFFIX@_la_SOURCES = \
553
554
555
556
557
558
559
560
561
562
563
564
  test/shared/util.F90 \
  test/shared/read_input_parameters.F90  \
  test/shared/check_correctness.F90 \
  test/shared/check_correctness_template.X90 \
  test/shared/setup_mpi.F90 \
  test/shared/blacs_infrastructure.F90 \
  test/shared/prepare_matrix.F90 \
  test/shared/mod_assert.F90 \
  test/shared/prepare_matrix_template.X90 \
  test/shared/mod_output_types.F90 \
  test/shared/mod_from_c.F90 \
  test/shared/call_elpa1.c
Andreas Marek's avatar
Andreas Marek committed
565

566
if HAVE_REDIRECT
567
libelpatest@SUFFIX@_la_SOURCES += \
568
569
570
571
572
573
574
  test/shared/redir.c \
  test/shared/redirect.F90
endif


elpa2_print_kernels@SUFFIX@_SOURCES = src/elpa2/elpa2_print_kernels.F90
elpa2_print_kernels@SUFFIX@_LDADD = $(build_lib)
575
elpa2_print_kernels@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
576
577
578

test_real_double_1stage_SOURCES = test/Fortran/test.F90
test_real_double_1stage_LDADD = $(build_lib) $(FCLIBS)
579
test_real_double_1stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
580
581
582
583
584
585
586
        -DTEST_REAL \
        -DTEST_DOUBLE \
        -DTEST_SOLVER_1STAGE \
        -DTEST_GPU=0

test_real_double_2stage_SOURCES = test/Fortran/test.F90
test_real_double_2stage_LDADD = $(build_lib) $(FCLIBS)
587
test_real_double_2stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
588
589
590
591
592
593
594
        -DTEST_REAL \
        -DTEST_DOUBLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0

test_complex_double_1stage_SOURCES = test/Fortran/test.F90
test_complex_double_1stage_LDADD = $(build_lib) $(FCLIBS)
595
test_complex_double_1stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
596
597
598
599
600
601
602
        -DTEST_COMPLEX \
        -DTEST_DOUBLE \
        -DTEST_SOLVER_1STAGE \
        -DTEST_GPU=0

test_complex_double_2stage_SOURCES = test/Fortran/test.F90
test_complex_double_2stage_LDADD = $(build_lib) $(FCLIBS)
603
test_complex_double_2stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
604
605
606
607
608
609
        -DTEST_COMPLEX \
        -DTEST_DOUBLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0

if WANT_SINGLE_PRECISION_REAL
610
611
612
test_single_real_1stage_SOURCES = test/Fortran/test.F90
test_single_real_1stage_LDADD = $(build_lib) $(FCLIBS)
test_single_real_1stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
613
614
615
616
617
        -DTEST_REAL \
        -DTEST_SINGLE \
        -DTEST_SOLVER_1STAGE \
        -DTEST_GPU=0

618
619
620
test_single_real_2stage_SOURCES = test/Fortran/test.F90
test_single_real_2stage_LDADD = $(build_lib) $(FCLIBS)
test_single_real_2stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
621
622
623
624
        -DTEST_REAL \
        -DTEST_SINGLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0
625
endif
626
627

if WANT_SINGLE_PRECISION_COMPLEX
628
629
630
test_single_complex_1stage_SOURCES = test/Fortran/test.F90
test_single_complex_1stage_LDADD = $(build_lib) $(FCLIBS)
test_single_complex_1stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
631
632
633
634
635
        -DTEST_COMPLEX \
        -DTEST_SINGLE \
        -DTEST_SOLVER_1STAGE \
        -DTEST_GPU=0

636
637
638
test_single_complex_2stage_SOURCES = test/Fortran/test.F90
test_single_complex_2stage_LDADD = $(build_lib) $(FCLIBS)
test_single_complex_2stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
639
640
641
642
643
        -DTEST_COMPLEX \
        -DTEST_SINGLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0
endif
644
645
646
647
648
649

double_instance@SUFFIX@_SOURCES = test/Fortran/elpa2/double_instance.F90
double_instance@SUFFIX@_LDADD = $(build_lib)
double_instance@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_double_instance@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

Andreas Marek's avatar
Andreas Marek committed
650
651
652
653
real_2stage_banded@SUFFIX@_SOURCES = test/Fortran/elpa2/real_2stage_banded.F90
real_2stage_banded@SUFFIX@_LDADD = $(build_lib)
real_2stage_banded@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_real_2stage_banded@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
654

Andreas Marek's avatar
Andreas Marek committed
655
656
657
658
659
660
complex_2stage_banded@SUFFIX@_SOURCES = test/Fortran/elpa2/complex_2stage_banded.F90
complex_2stage_banded@SUFFIX@_LDADD = $(build_lib)
complex_2stage_banded@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_complex_2stage_banded@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

real_2stage@SUFFIX@_SOURCES = test/Fortran/elpa2/real_2stage.F90
661
662
663
real_2stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
real_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_real_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
664

Andreas Marek's avatar
Andreas Marek committed
665
complex_2stage@SUFFIX@_SOURCES = test/Fortran/elpa2/complex_2stage.F90
666
667
668
complex_2stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
complex_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_complex_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
669

Andreas Marek's avatar
Andreas Marek committed
670
real_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/real_1stage.F90
671
672
673
real_1stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
real_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_real_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
674

Andreas Marek's avatar
Andreas Marek committed
675
complex_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/complex_1stage.F90
676
677
678
complex_1stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
complex_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_complex_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
679

680
if WANT_SINGLE_PRECISION_REAL
Andreas Marek's avatar
Andreas Marek committed
681
single_real_2stage@SUFFIX@_SOURCES = test/Fortran/elpa2/single_real_2stage.F90
682
683
684
single_real_2stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
single_real_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_single_real_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
685

Andreas Marek's avatar
Andreas Marek committed
686
single_real_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/single_real_1stage.F90
687
688
689
single_real_1stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
single_real_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_single_real_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
690
691
692
endif

if WANT_SINGLE_PRECISION_COMPLEX
Andreas Marek's avatar
Andreas Marek committed
693
single_complex_2stage@SUFFIX@_SOURCES = test/Fortran/elpa2/single_complex_2stage.F90
694
695
696
single_complex_2stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
single_complex_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_single_complex_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
697

Andreas Marek's avatar
Andreas Marek committed
698
single_complex_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/single_complex_1stage.F90
699
700
701
single_complex_1stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
single_complex_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_single_complex_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
702
703
704
endif

if WITH_GPU_VERSION
Andreas Marek's avatar
Andreas Marek committed
705
real_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa1/real_1stage_gpu.F90
706
707
708
real_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
real_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_real_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
709

Andreas Marek's avatar
Andreas Marek committed
710
complex_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa1/complex_1stage_gpu.F90
711
712
713
complex_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
complex_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_complex_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
714

Andreas Marek's avatar
Andreas Marek committed
715
real_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/real_2stage_gpu.F90
716
717
718
real_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
real_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_real_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
719

Andreas Marek's avatar
Andreas Marek committed
720
complex_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/complex_2stage_gpu.F90
721
722
723
complex_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
complex_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_complex_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
724
725
726
endif

if WANT_SINGLE_PRECISION_REAL
Andreas Marek's avatar
Andreas Marek committed
727
728
729
730
731
732
single_real_2stage_banded@SUFFIX@_SOURCES = test/Fortran/elpa2/single_real_2stage_banded.F90
single_real_2stage_banded@SUFFIX@_LDADD = $(build_lib)
single_real_2stage_banded@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_single_real_2stage_banded@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

single_real_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa1/single_real_1stage_gpu.F90
733
734
735
single_real_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
single_real_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_single_real_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
736

Andreas Marek's avatar
Andreas Marek committed
737
single_real_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/single_real_2stage_gpu.F90
738
739
740
single_real_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
single_real_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_single_real_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
741
742
743
endif

if WANT_SINGLE_PRECISION_COMPLEX
Andreas Marek's avatar
Andreas Marek committed
744
745
746
747
748
749
single_complex_2stage_banded@SUFFIX@_SOURCES = test/Fortran/elpa2/single_complex_2stage_banded.F90
single_complex_2stage_banded@SUFFIX@_LDADD = $(build_lib)
single_complex_2stage_banded@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_single_complex_2stage_banded@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

single_complex_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa1/single_complex_1stage_gpu.F90
750
751
752
single_complex_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
single_complex_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_single_complex_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
753

Andreas Marek's avatar
Andreas Marek committed
754
single_complex_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/single_complex_2stage_gpu.F90
755
756
757
single_complex_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
single_complex_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_single_complex_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
758
759
760
761
endif


if ENABLE_LEGACY
Andreas Marek's avatar
Andreas Marek committed
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
legacy_real_1stage_c_version@SUFFIX@_SOURCES = test/C/elpa1/legacy_interface/legacy_real_1stage_c_version.c
legacy_real_1stage_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
legacy_real_1stage_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_1stage_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_real_1stage_with_c@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_real_1stage_with_c.F90
legacy_real_1stage_with_c@SUFFIX@_LDADD = $(build_lib)
legacy_real_1stage_with_c@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_1stage_with_c@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_real_driver_c_version@SUFFIX@_SOURCES = test/C/driver/legacy_interface/legacy_real_driver_c_version.c
legacy_real_driver_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
legacy_real_driver_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_driver_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_complex_1stage_c_version@SUFFIX@_SOURCES = test/C/elpa1/legacy_interface/legacy_complex_1stage_c_version.c
legacy_complex_1stage_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
legacy_complex_1stage_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_complex_1stage_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_complex_driver_c_version@SUFFIX@_SOURCES = test/C/driver/legacy_interface/legacy_complex_driver_c_version.c
legacy_complex_driver_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
legacy_complex_driver_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_complex_driver_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_real_2stage_c_version@SUFFIX@_SOURCES = test/C/elpa2/legacy_interface/legacy_real_2stage_c_version.c
legacy_real_2stage_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
legacy_real_2stage_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_2stage_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_complex_2stage_c_version@SUFFIX@_SOURCES = test/C/elpa2/legacy_interface/legacy_complex_2stage_c_version.c
legacy_complex_2stage_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
legacy_complex_2stage_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_complex_2stage_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_real_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_real.F90
legacy_real_1stage@SUFFIX@_LDADD = $(build_lib)
legacy_real_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_real_toeplitz@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_toeplitz.F90
legacy_real_toeplitz@SUFFIX@_LDADD = $(build_lib)
legacy_real_toeplitz@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_toeplitz@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

Andreas Marek's avatar
Andreas Marek committed
807
legacy_real_transpose_multiply@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_real_transp_multiply.F90
Andreas Marek's avatar
Andreas Marek committed
808
809
810
811
legacy_real_transpose_multiply@SUFFIX@_LDADD = $(build_lib)
legacy_real_transpose_multiply@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_transpose_multiply@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

Andreas Marek's avatar
Andreas Marek committed
812
legacy_complex_transpose_multiply@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_complex_transp_multiply.F90
Andreas Marek's avatar
Andreas Marek committed
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
legacy_complex_transpose_multiply@SUFFIX@_LDADD = $(build_lib)
legacy_complex_transpose_multiply@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_complex_transpose_multiply@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_real_cholesky@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_real_cholesky.F90
legacy_real_cholesky@SUFFIX@_LDADD = $(build_lib)
legacy_real_cholesky@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_cholesky@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_real_invert_trm@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_real_invert_trm.F90
legacy_real_invert_trm@SUFFIX@_LDADD = $(build_lib)
legacy_real_invert_trm@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_invert_trm@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_complex_cholesky@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_complex_cholesky.F90
legacy_complex_cholesky@SUFFIX@_LDADD = $(build_lib)
legacy_complex_cholesky@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_complex_cholesky@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_complex_invert_trm@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_complex_invert_trm.F90
legacy_complex_invert_trm@SUFFIX@_LDADD = $(build_lib)
legacy_complex_invert_trm@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_complex_invert_trm@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_real_2stage@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_real.F90
legacy_real_2stage@SUFFIX@_LDADD = $(build_lib)
legacy_real_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_real_2stage_default@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_real_default_kernel.F90
legacy_real_2stage_default@SUFFIX@_LDADD = $(build_lib)
legacy_real_2stage_default@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_2stage_default@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_real_2stage_qr@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_real_qr.F90
legacy_real_2stage_qr@SUFFIX@_LDADD = $(build_lib)
legacy_real_2stage_qr@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_2stage_qr@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_real_2stage_api@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_real_api.F90
legacy_real_2stage_api@SUFFIX@_LDADD = $(build_lib)
legacy_real_2stage_api@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_2stage_api@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_complex_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_complex.F90
legacy_complex_1stage@SUFFIX@_LDADD = $(build_lib)
legacy_complex_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_complex_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_complex_2stage@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_complex.F90
legacy_complex_2stage@SUFFIX@_LDADD = $(build_lib)
legacy_complex_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_complex_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_complex_2stage_default@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_complex_default_kernel.F90
legacy_complex_2stage_default@SUFFIX@_LDADD = $(build_lib)
legacy_complex_2stage_default@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_complex_2stage_default@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_complex_2stage_api@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_complex_api.F90
legacy_complex_2stage_api@SUFFIX@_LDADD = $(build_lib)
legacy_complex_2stage_api@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_complex_2stage_api@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_real_driver@SUFFIX@_SOURCES = test/Fortran/driver/legacy_interface/legacy_real_driver.F90
legacy_real_driver@SUFFIX@_LDADD = $(build_lib)
legacy_real_driver@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_driver@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_complex_driver@SUFFIX@_SOURCES = test/Fortran/driver/legacy_interface/legacy_complex_driver.F90
legacy_complex_driver@SUFFIX@_LDADD = $(build_lib)
legacy_complex_driver@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_complex_driver@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
886

887
888
elpa_tests@SUFFIX@_SOURCES = test/Fortran/elpa_tests.F90
elpa_tests@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
889
elpa_tests@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
890

891
if WANT_SINGLE_PRECISION_REAL
Andreas Marek's avatar
Andreas Marek committed
892

Andreas Marek's avatar
Andreas Marek committed
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
legacy_single_real_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_single_real.F90
legacy_single_real_1stage@SUFFIX@_LDADD = $(build_lib)
legacy_single_real_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_real_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_real_2stage@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_single_real.F90
legacy_single_real_2stage@SUFFIX@_LDADD = $(build_lib)
legacy_single_real_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_real_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_real_driver@SUFFIX@_SOURCES = test/Fortran/driver/legacy_interface/legacy_single_real_driver.F90
legacy_single_real_driver@SUFFIX@_LDADD = $(build_lib)
legacy_single_real_driver@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_real_driver@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_real_toeplitz@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_single_toeplitz.F90
legacy_single_real_toeplitz@SUFFIX@_LDADD = $(build_lib)
legacy_single_real_toeplitz@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_real_toeplitz@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

Andreas Marek's avatar
Andreas Marek committed
913
legacy_single_real_transpose_multiply@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_single_real_transp_multiply.F90
Andreas Marek's avatar
Andreas Marek committed
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
legacy_single_real_transpose_multiply@SUFFIX@_LDADD = $(build_lib)
legacy_single_real_transpose_multiply@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_real_transpose_multiply@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_real_driver_c_version@SUFFIX@_SOURCES = test/C/driver/legacy_interface/legacy_single_real_driver_c_version.c
legacy_single_real_driver_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
legacy_single_real_driver_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_real_driver_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_real_cholesky@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_single_real_cholesky.F90
legacy_single_real_cholesky@SUFFIX@_LDADD = $(build_lib)
legacy_single_real_cholesky@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_real_cholesky@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_real_invert_trm@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_single_real_invert_trm.F90
legacy_single_real_invert_trm@SUFFIX@_LDADD = $(build_lib)
legacy_single_real_invert_trm@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_real_invert_trm@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_real_2stage_default@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_single_real_default_kernel.F90
legacy_single_real_2stage_default@SUFFIX@_LDADD = $(build_lib)
legacy_single_real_2stage_default@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_real_2stage_default@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_real_2stage_qr@SUFFIX@_SOURCES = \
                test/Fortran/elpa2/legacy_interface/legacy_single_real_qr.F90
legacy_single_real_2stage_qr@SUFFIX@_LDADD = $(build_lib)
legacy_single_real_2stage_qr@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_real_2stage_qr@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_real_2stage_api@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_single_real_api.F90
legacy_single_real_2stage_api@SUFFIX@_LDADD = $(build_lib)
legacy_single_real_2stage_api@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_real_2stage_api@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
948
949
950
endif

if WANT_SINGLE_PRECISION_COMPLEX
Andreas Marek's avatar
Andreas Marek committed
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
legacy_single_complex_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_single_complex.F90
legacy_single_complex_1stage@SUFFIX@_LDADD = $(build_lib)
legacy_single_complex_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_complex_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_complex_driver@SUFFIX@_SOURCES = test/Fortran/driver/legacy_interface/legacy_single_complex_driver.F90
legacy_single_complex_driver@SUFFIX@_LDADD = $(build_lib)
legacy_single_complex_driver@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_complex_driver@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_complex_driver_c_version@SUFFIX@_SOURCES = test/C/driver/legacy_interface/legacy_single_complex_driver_c_version.c
legacy_single_complex_driver_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
legacy_single_complex_driver_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
legacy_single_complex_driver_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_complex_2stage@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_single_complex.F90
legacy_single_complex_2stage@SUFFIX@_LDADD = $(build_lib)
legacy_single_complex_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_complex_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_complex_2stage_default@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_single_complex_default_kernel.F90 $(shared_sources) $(redirect_sources)
legacy_single_complex_2stage_default@SUFFIX@_LDADD = $(build_lib)
legacy_single_complex_2stage_default@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_complex_2stage_default@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

Andreas Marek's avatar
Andreas Marek committed
976
legacy_single_complex_transpose_multiply@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_single_complex_transp_multiply.F90
Andreas Marek's avatar
Andreas Marek committed
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
legacy_single_complex_transpose_multiply@SUFFIX@_LDADD = $(build_lib)
legacy_single_complex_transpose_multiply@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_complex_transpose_multiply@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_complex_cholesky@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_single_complex_cholesky.F90
legacy_single_complex_cholesky@SUFFIX@_LDADD = $(build_lib)
legacy_single_complex_cholesky@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_complex_cholesky@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_complex_invert_trm@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_single_complex_invert_trm.F90
legacy_single_complex_invert_trm@SUFFIX@_LDADD = $(build_lib)
legacy_single_complex_invert_trm@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_complex_invert_trm@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_single_complex_2stage_api@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_single_complex_api.F90
legacy_single_complex_2stage_api@SUFFIX@_LDADD = $(build_lib)
legacy_single_complex_2stage_api@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_complex_2stage_api@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
995
996
997
endif

if WITH_GPU_VERSION
Andreas Marek's avatar
Andreas Marek committed
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
legacy_real_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_real_gpu.F90
legacy_real_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
legacy_real_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_complex_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_complex_gpu.F90
legacy_complex_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
legacy_complex_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_complex_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_real_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_real_gpu.F90
legacy_real_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
legacy_real_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_real_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_complex_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_complex_gpu.F90
legacy_complex_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
legacy_complex_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_complex_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
1017
1018

if WANT_SINGLE_PRECISION_REAL
Andreas Marek's avatar
Andreas Marek committed
1019
1020
1021
1022
legacy_single_real_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_single_real_gpu.F90
legacy_single_real_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
legacy_single_real_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_real_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
1023

Andreas Marek's avatar
Andreas Marek committed
1024
1025
1026
1027
legacy_single_real_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_single_real_gpu.F90
legacy_single_real_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
legacy_single_real_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_real_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
1028
1029
1030
endif

if WANT_SINGLE_PRECISION_COMPLEX
Andreas Marek's avatar
Andreas Marek committed
1031
1032
1033
1034
legacy_single_complex_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_single_complex_gpu.F90
legacy_single_complex_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
legacy_single_complex_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_complex_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
1035

Andreas Marek's avatar
Andreas Marek committed
1036
1037
1038
1039
legacy_single_complex_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/legacy_interface/legacy_single_complex_gpu.F90
legacy_single_complex_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
legacy_single_complex_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
EXTRA_legacy_single_complex_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
1040
1041
endif
endif
1042
endif
1043

1044
check_SCRIPTS = \
1045
1046
1047
1048
  test_real_double_1stage.sh \
  test_real_double_2stage.sh \
  test_complex_double_1stage.sh \
  test_complex_double_2stage.sh \
1049
  double_instance@SUFFIX@.sh \
1050
1051
1052
1053
1054
1055
  real_2stage_banded@SUFFIX@.sh \
  complex_2stage_banded@SUFFIX@.sh \
  real_2stage@SUFFIX@.sh \
  complex_2stage@SUFFIX@.sh \
  real_1stage@SUFFIX@.sh \
  complex_1stage@SUFFIX@.sh
Andreas Marek's avatar
Andreas Marek committed
1056

1057
1058
if WANT_SINGLE_PRECISION_REAL
check_SCRIPTS += \
1059
1060
1061
1062
1063
  test_single_real_1stage.sh \
  test_single_real_2stage.sh \
  single_real_2stage_banded@SUFFIX@.sh \
  single_real_2stage@SUFFIX@.sh \
  single_real_1stage@SUFFIX@.sh
1064
1065
1066
1067
endif

if WANT_SINGLE_PRECISION_COMPLEX
check_SCRIPTS += \
1068
1069
1070
1071
1072
  test_single_complex_1stage.sh \
  test_single_complex_2stage.sh \
  single_complex_2stage_banded@SUFFIX@.sh \
  single_complex_2stage@SUFFIX@.sh \
  single_complex_1stage@SUFFIX@.sh
1073
1074
1075
1076
endif

if WITH_GPU_VERSION
check_SCRIPTS += \
1077
1078
1079
1080
  complex_1stage_gpu@SUFFIX@.sh \
  complex_2stage_gpu@SUFFIX@.sh \
  real_1stage_gpu@SUFFIX@.sh \
  real_2stage_gpu@SUFFIX@.sh
1081

1082
1083
if WANT_SINGLE_PRECISION_REAL
check_SCRIPTS += \
1084
1085
  single_real_1stage_gpu@SUFFIX@.sh \
  single_real_2stage_gpu@SUFFIX@.sh
1086
endif
1087

1088
1089
if WANT_SINGLE_PRECISION_COMPLEX
check_SCRIPTS += \
1090
1091
  single_complex_1stage_gpu@SUFFIX@.sh \
  single_complex_2stage_gpu@SUFFIX@.sh
1092
1093
1094
endif
endif

1095
1096
if ENABLE_LEGACY
check_SCRIPTS += \
Andreas Marek's avatar
Andreas Marek committed
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
  legacy_real_1stage@SUFFIX@.sh \
  legacy_real_2stage@SUFFIX@.sh \
  legacy_real_2stage_default@SUFFIX@.sh \
  legacy_complex_1stage@SUFFIX@.sh \
  legacy_complex_2stage@SUFFIX@.sh \
  legacy_real_2stage_qr@SUFFIX@.sh \
  legacy_complex_2stage_default@SUFFIX@.sh \
  legacy_real_2stage_api@SUFFIX@.sh \
  legacy_complex_2stage_api@SUFFIX@.sh \
  legacy_real_driver@SUFFIX@.sh \
  legacy_complex_driver@SUFFIX@.sh \
  legacy_real_toeplitz@SUFFIX@.sh \
  legacy_real_1stage_with_c@SUFFIX@.sh \
  legacy_real_cholesky@SUFFIX@.sh \
  legacy_real_invert_trm@SUFFIX@.sh \
  legacy_real_transpose_multiply@SUFFIX@.sh \
  legacy_complex_cholesky@SUFFIX@.sh \
  legacy_complex_invert_trm@SUFFIX@.sh \
  legacy_complex_transpose_multiply@SUFFIX@.sh \
  legacy_real_1stage_c_version@SUFFIX@.sh \
  legacy_complex_1stage_c_version@SUFFIX@.sh \
  legacy_real_2stage_c_version@SUFFIX@.sh \
  legacy_complex_2stage_c_version@SUFFIX@.sh \
  legacy_real_driver_c_version@SUFFIX@.sh \
  legacy_complex_driver_c_version@SUFFIX@.sh
1122
1123
1124

if WANT_SINGLE_PRECISION_REAL
check_SCRIPTS += \
Andreas Marek's avatar
Andreas Marek committed
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
  legacy_single_real_1stage@SUFFIX@.sh \
  legacy_single_real_2stage@SUFFIX@.sh \
  legacy_single_real_2stage_default@SUFFIX@.sh \
  legacy_single_real_2stage_qr@SUFFIX@.sh \
  legacy_single_real_driver@SUFFIX@.sh \
  legacy_single_real_cholesky@SUFFIX@.sh \
  legacy_single_real_invert_trm@SUFFIX@.sh \
  legacy_single_real_transpose_multiply@SUFFIX@.sh \
  legacy_single_real_2stage_api@SUFFIX@.sh \
  legacy_single_real_driver_c_version@SUFFIX@.sh
1135
1136
1137
1138
endif

if WANT_SINGLE_PRECISION_COMPLEX
check_SCRIPTS += \
Andreas Marek's avatar
Andreas Marek committed
1139
1140
1141
1142
1143
1144
1145
1146
1147
  legacy_single_complex_1stage@SUFFIX@.sh \
  legacy_single_complex_2stage@SUFFIX@.sh \
  legacy_single_complex_2stage_default@SUFFIX@.sh \
  legacy_single_complex_cholesky@SUFFIX@.sh \
  legacy_single_complex_driver@SUFFIX@.sh \
  legacy_single_complex_invert_trm@SUFFIX@.sh \
  legacy_single_complex_transpose_multiply@SUFFIX@.sh \
  legacy_single_complex_2stage_api@SUFFIX@.sh \
  legacy_single_complex_driver_c_version@SUFFIX@.sh
1148
1149
1150
1151
endif

if WITH_GPU_VERSION
check_SCRIPTS += \
Andreas Marek's avatar
Andreas Marek committed
1152
1153
1154
1155
  legacy_real_1stage_gpu@SUFFIX@.sh \
  legacy_complex_1stage_gpu@SUFFIX@.sh \
  legacy_real_2stage_gpu@SUFFIX@.sh \
  legacy_complex_2stage_gpu@SUFFIX@.sh
1156
1157
1158

if WANT_SINGLE_PRECISION_REAL
check_SCRIPTS += \
Andreas Marek's avatar
Andreas Marek committed
1159
1160
  legacy_single_real_1stage_gpu@SUFFIX@.sh \
  legacy_single_real_2stage_gpu@SUFFIX@.sh
1161
1162
1163
endif
if WANT_SINGLE_PRECISION_COMPLEX
check_SCRIPTS += \
Andreas Marek's avatar
Andreas Marek committed
1164
1165
  legacy_single_complex_1stage_gpu@SUFFIX@.sh \
  legacy_single_complex_2stage_gpu@SUFFIX@.sh
1166
1167
1168
endif
endif
endif
1169

1170
# test scripts
1171
MPIEXEC ?= $(MPI_BINARY) -n 2
1172
if WITH_MPI
1173
  wrapper=$(MPIEXEC)
1174
else
1175
  wrapper=
1176
endif
1177
1178
TESTS = $(check_SCRIPTS)
%.sh: %
1179
1180
	@echo $(wrapper) ./$^ '$$TEST_FLAGS' > $@
	@chmod +x $@
1181

1182
1183
include doxygen.am

1184
CLEANFILES = \
Andreas Marek's avatar
Andreas Marek committed
1185
  elpa-generated.h \
Andreas Marek's avatar
Andreas Marek committed
1186
  elpa1_test* \
1187
  elpa2_test*\
Andreas Marek's avatar
Andreas Marek committed
1188
1189
  elpa2_real* \
  elpa1_real* \
1190
  elpa*.sh \
1191
  test*.sh \
Andreas Marek's avatar
Andreas Marek committed
1192
1193
1194
1195
1196
1197
1198
1199
  legacy_real* \
  legacy_complex* \
  legacy_single_real* \
  legacy_single_complex* \
  single_real* \
  single_complex* \
  real* \
  complex* \
1200
  double_instance* \
1201
  *.i
1202
1203

clean-local:
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
1204
	-rm -rf modules/* private_modules/* .fortran_dependencies/*
1205
	-rm -rf $(generated_headers)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed