Makefile.am 56.5 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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
  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 \
  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
100

101
102
if ENABLE_LEGACY
EXTRA_libelpa@SUFFIX@_private_la_DEPENDENCIES += \
103
  src/elpa1/legacy_interface/elpa1_template.X90 \
104
  src/elpa2/legacy_interface/elpa2_template.X90 \
105
  src/elpa1/legacy_interface/elpa1_c_interface_template.X90 \
106
  src/elpa2/legacy_interface/elpa2_c_interface_template.X90 \
107
  src/elpa_driver/legacy_interface/elpa_driver_c_interface_template.X90 \
108
109
110
111
112
113
114
115
116
  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
117
endif
118

119
if HAVE_DETAILED_TIMINGS
120
121
122
123
124
125
126
127
128
129
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
130
else
131
132
libelpa@SUFFIX@_private_la_SOURCES += \
  src/helpers/timer_dummy.F90
133
134
endif

135
if WITH_GPU_VERSION
Andreas Marek's avatar
Andreas Marek committed
136
137
  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
138
139
endif

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

Andreas Marek's avatar
Andreas Marek committed
147
if WITH_REAL_GENERIC_KERNEL
148
  libelpa@SUFFIX@_private_la_SOURCES +=  src/elpa2/kernels/elpa2_kernels_real.F90
149
150
endif

Andreas Marek's avatar
Andreas Marek committed
151
if WITH_COMPLEX_GENERIC_KERNEL
152
  libelpa@SUFFIX@_private_la_SOURCES +=  src/elpa2/kernels/elpa2_kernels_complex.F90
153
154
endif

Andreas Marek's avatar
Andreas Marek committed
155
if WITH_REAL_GENERIC_SIMPLE_KERNEL
156
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_simple.F90
157
158
endif

Andreas Marek's avatar
Andreas Marek committed
159
if WITH_COMPLEX_GENERIC_SIMPLE_KERNEL
160
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_simple.F90
161
162
endif

Andreas Marek's avatar
Andreas Marek committed
163
if WITH_REAL_BGP_KERNEL
164
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_bgp.f90
165
166
endif

Andreas Marek's avatar
Andreas Marek committed
167
if WITH_REAL_BGQ_KERNEL
168
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_bgq.f90
169
170
endif

171
if WITH_REAL_SSE_ASSEMBLY_KERNEL
172
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_asm_x86_64_double_precision.s
173
if WANT_SINGLE_PRECISION_REAL
174
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_asm_x86_64_single_precision.s
175
endif
176

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

186
if WITH_REAL_SSE_BLOCK2_KERNEL
187
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_2hv_double_precision.c
188
if WANT_SINGLE_PRECISION_REAL
189
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_2hv_single_precision.c
190
endif
191
192
endif

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

207
if WITH_REAL_AVX512_BLOCK2_KERNEL
208
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_2hv_double_precision.c
209
if WANT_SINGLE_PRECISION_REAL
210
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_2hv_single_precision.c
211
endif
212
213
214
endif


215
if WITH_REAL_SSE_BLOCK4_KERNEL
216
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_4hv_double_precision.c
217
if WANT_SINGLE_PRECISION_REAL
218
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_4hv_single_precision.c
219
endif
220
221
endif

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

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



245
if WITH_REAL_SSE_BLOCK6_KERNEL
246
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_6hv_double_precision.c
247
if WANT_SINGLE_PRECISION_REAL
248
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_6hv_single_precision.c
249
endif
250
251
endif

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

266
if WITH_REAL_AVX512_BLOCK6_KERNEL
267
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_6hv_double_precision.c
268
if WANT_SINGLE_PRECISION_REAL
269
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_6hv_single_precision.c
270
endif
271
272
273
endif


274
if WITH_COMPLEX_SSE_BLOCK1_KERNEL
275
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_sse_1hv_double_precision.c
276
if WANT_SINGLE_PRECISION_COMPLEX
277
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_sse_1hv_single_precision.c
278
endif
279
280
endif

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

295
296

if WITH_COMPLEX_AVX512_BLOCK1_KERNEL
297
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx512_1hv_double_precision.c
298
if WANT_SINGLE_PRECISION_COMPLEX
299
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx512_1hv_single_precision.c
300
endif
301
302
endif

303
if WITH_COMPLEX_SSE_BLOCK2_KERNEL
304
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_sse_2hv_double_precision.c
305
if WANT_SINGLE_PRECISION_COMPLEX
306
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_sse_2hv_single_precision.c
307
endif
308
309
endif

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

324
if WITH_COMPLEX_AVX512_BLOCK2_KERNEL
325
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx512_2hv_double_precision.c
326
if WANT_SINGLE_PRECISION_COMPLEX
327
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx512_2hv_single_precision.c
328
endif
329
330
endif

331
# Cuda files
332
.cu.lo:
333
	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
334

335
336
337
338
339
# Assembly files
LTCCASCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CCAS) $(AM_CCASFLAGS) \
	$(CCASFLAGS)

340
341
342
include generated_headers.am
BUILT_SOURCES = $(generated_headers)

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

Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
347
dist_man_MANS = \
348
349
350
351
  man/elpa2_print_kernels.1

if ENABLE_LEGACY
dist_man_MANS += \
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
  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 \
376
377
378
  man/elpa_tests.1
endif

Andreas Marek's avatar
Andreas Marek committed
379

380
if WANT_SINGLE_PRECISION_REAL
381
if ENABLE_LEGACY
382
383
384
385
386
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
387
endif
388
endif
389
390

if WANT_SINGLE_PRECISION_COMPLEX
391
if ENABLE_LEGACY
392
393
394
395
396
397
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
398
endif
399

400
dist_doc_DATA = README.md USERS_GUIDE.md INSTALL.md CONTRIBUTING.md LICENSE Changelog COPYING/COPYING COPYING/gpl.txt COPYING/lgpl.txt
401

402
403
# pkg-config stuff
pkgconfigdir = $(libdir)/pkgconfig
404
pkgconfig_DATA = @PKG_CONFIG_FILE@
405

406
407
# programs
bin_PROGRAMS = \
408
  elpa2_print_kernels@SUFFIX@
409

410
411
412
413
414
if ENABLE_LEGACY
bin_PROGRAMS += \
  elpa_tests@SUFFIX@
endif

415
noinst_PROGRAMS = \
416
417
418
419
  test_real_double_1stage \
  test_real_double_2stage \
  test_complex_double_1stage \
  test_complex_double_2stage \
420
421
422
423
424
425
  real_2stage_banded@SUFFIX@ \
  complex_2stage_banded@SUFFIX@ \
  real_2stage@SUFFIX@ \
  complex_2stage@SUFFIX@ \
  real_1stage@SUFFIX@ \
  complex_1stage@SUFFIX@
426
427
428

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
429
430
431
432
433
  test_single_real_1stage \
  test_single_real_2stage \
  single_real_2stage_banded@SUFFIX@ \
  single_real_2stage@SUFFIX@ \
  single_real_1stage@SUFFIX@
434
435
436
437
endif

if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
438
439
440
441
442
  test_single_complex_1stage \
  test_single_complex_2stage \
  single_complex_2stage_banded@SUFFIX@ \
  single_complex_2stage@SUFFIX@ \
  single_complex_1stage@SUFFIX@
443
444
445
446
endif

if WITH_GPU_VERSION
noinst_PROGRAMS += \
447
448
449
450
  complex_1stage_gpu@SUFFIX@ \
  complex_2stage_gpu@SUFFIX@ \
  real_1stage_gpu@SUFFIX@ \
  real_2stage_gpu@SUFFIX@
451
452
453

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
454
455
  single_real_1stage_gpu@SUFFIX@ \
  single_real_2stage_gpu@SUFFIX@
456
457
458
459
endif

if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
460
461
  single_complex_1stage_gpu@SUFFIX@ \
  single_complex_2stage_gpu@SUFFIX@
462
463
464
465
466
467
endif
endif


if ENABLE_LEGACY
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
  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
493

494
495
if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
496
497
498
499
500
501
502
503
504
  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@
505
506
507
508
endif

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
509
510
511
512
513
514
515
516
517
518
519
  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@
520
521
522
523
endif

if WITH_GPU_VERSION
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
524
525
526
527
  legacy_complex_1stage_gpu@SUFFIX@ \
  legacy_real_1stage_gpu@SUFFIX@ \
  legacy_complex_2stage_gpu@SUFFIX@ \
  legacy_real_2stage_gpu@SUFFIX@
528
529
530

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
531
532
  legacy_single_real_1stage_gpu@SUFFIX@ \
  legacy_single_real_2stage_gpu@SUFFIX@
533
534
535
536
endif

if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
537
538
  legacy_single_complex_1stage_gpu@SUFFIX@ \
  legacy_single_complex_2stage_gpu@SUFFIX@
539
endif
540
541
542
endif
endif

Andreas Marek's avatar
Andreas Marek committed
543
build_lib = libelpatest@SUFFIX@.la libelpa@SUFFIX@.la
544
545
546

# library with shared sources for the test files
noinst_LTLIBRARIES += libelpatest@SUFFIX@.la
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
547
libelpatest@SUFFIX@_la_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
548
libelpatest@SUFFIX@_la_SOURCES = \
549
550
551
552
553
554
555
556
557
558
559
560
  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
561

562
if HAVE_REDIRECT
563
libelpatest@SUFFIX@_la_SOURCES += \
564
565
566
567
568
569
570
  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)
571
elpa2_print_kernels@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
572
573
574

test_real_double_1stage_SOURCES = test/Fortran/test.F90
test_real_double_1stage_LDADD = $(build_lib) $(FCLIBS)
575
test_real_double_1stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
576
577
578
579
580
581
582
        -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)
583
test_real_double_2stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
584
585
586
587
588
589
590
        -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)
591
test_complex_double_1stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
592
593
594
595
596
597
598
        -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)
599
test_complex_double_2stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
600
601
602
603
604
605
        -DTEST_COMPLEX \
        -DTEST_DOUBLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0

if WANT_SINGLE_PRECISION_REAL
606
607
608
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 \
609
610
611
612
613
        -DTEST_REAL \
        -DTEST_SINGLE \
        -DTEST_SOLVER_1STAGE \
        -DTEST_GPU=0

614
615
616
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 \
617
618
619
620
        -DTEST_REAL \
        -DTEST_SINGLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0
621
endif
622
623

if WANT_SINGLE_PRECISION_COMPLEX
624
625
626
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 \
627
628
629
630
631
        -DTEST_COMPLEX \
        -DTEST_SINGLE \
        -DTEST_SOLVER_1STAGE \
        -DTEST_GPU=0

632
633
634
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 \
635
636
637
638
639
        -DTEST_COMPLEX \
        -DTEST_SINGLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0
endif
Andreas Marek's avatar
Andreas Marek committed
640
641
642
643
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
644

Andreas Marek's avatar
Andreas Marek committed
645
646
647
648
649
650
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
651
652
653
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
654

Andreas Marek's avatar
Andreas Marek committed
655
complex_2stage@SUFFIX@_SOURCES = test/Fortran/elpa2/complex_2stage.F90
656
657
658
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
659

Andreas Marek's avatar
Andreas Marek committed
660
real_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/real_1stage.F90
661
662
663
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
664

Andreas Marek's avatar
Andreas Marek committed
665
complex_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/complex_1stage.F90
666
667
668
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
669

670
if WANT_SINGLE_PRECISION_REAL
Andreas Marek's avatar
Andreas Marek committed
671
single_real_2stage@SUFFIX@_SOURCES = test/Fortran/elpa2/single_real_2stage.F90
672
673
674
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
675

Andreas Marek's avatar
Andreas Marek committed
676
single_real_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/single_real_1stage.F90
677
678
679
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
680
681
682
endif

if WANT_SINGLE_PRECISION_COMPLEX
Andreas Marek's avatar
Andreas Marek committed
683
single_complex_2stage@SUFFIX@_SOURCES = test/Fortran/elpa2/single_complex_2stage.F90
684
685
686
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
687

Andreas Marek's avatar
Andreas Marek committed
688
single_complex_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/single_complex_1stage.F90
689
690
691
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
692
693
694
endif

if WITH_GPU_VERSION
Andreas Marek's avatar
Andreas Marek committed
695
real_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa1/real_1stage_gpu.F90
696
697
698
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
699

Andreas Marek's avatar
Andreas Marek committed
700
complex_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa1/complex_1stage_gpu.F90
701
702
703
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
704

Andreas Marek's avatar
Andreas Marek committed
705
real_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/real_2stage_gpu.F90
706
707
708
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
709

Andreas Marek's avatar
Andreas Marek committed
710
complex_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/complex_2stage_gpu.F90
711
712
713
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
714
715
716
endif

if WANT_SINGLE_PRECISION_REAL
Andreas Marek's avatar
Andreas Marek committed
717
718
719
720
721
722
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
723
724
725
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
726

Andreas Marek's avatar
Andreas Marek committed
727
single_real_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/single_real_2stage_gpu.F90
728
729
730
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
731
732
733
endif

if WANT_SINGLE_PRECISION_COMPLEX
Andreas Marek's avatar
Andreas Marek committed
734
735
736
737
738
739
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
740
741
742
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
743

Andreas Marek's avatar
Andreas Marek committed
744
single_complex_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/single_complex_2stage_gpu.F90
745
746
747
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
748
749
750
751
endif


if ENABLE_LEGACY
Andreas Marek's avatar
Andreas Marek committed
752
753
754
755
756
757
758
759
760
761
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
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
797
legacy_real_transpose_multiply@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_real_transp_multiply.F90
Andreas Marek's avatar
Andreas Marek committed
798
799
800
801
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
802
legacy_complex_transpose_multiply@SUFFIX@_SOURCES = test/Fortran/elpa1/legacy_interface/legacy_complex_transp_multiply.F90
Andreas Marek's avatar
Andreas Marek committed
803
804
805
806
807
808
809
810
811
812
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
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
876

877
878
elpa_tests@SUFFIX@_SOURCES = test/Fortran/elpa_tests.F90
elpa_tests@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
879
elpa_tests@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
880

881
if WANT_SINGLE_PRECISION_REAL
Andreas Marek's avatar
Andreas Marek committed
882

Andreas Marek's avatar
Andreas Marek committed
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
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
903
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
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
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
938
939
940
endif

if WANT_SINGLE_PRECISION_COMPLEX
Andreas Marek's avatar
Andreas Marek committed
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
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
966
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
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
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
985
986
987
endif

if WITH_GPU_VERSION
Andreas Marek's avatar
Andreas Marek committed
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
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
1007
1008

if WANT_SINGLE_PRECISION_REAL
Andreas Marek's avatar
Andreas Marek committed
1009
1010
1011
1012
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
1013

Andreas Marek's avatar
Andreas Marek committed
1014
1015
1016
1017
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
1018
1019
1020
endif

if WANT_SINGLE_PRECISION_COMPLEX
Andreas Marek's avatar
Andreas Marek committed
1021
1022
1023
1024
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
1025

Andreas Marek's avatar
Andreas Marek committed
1026
1027
1028
1029
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
1030
1031
endif
endif
1032
endif
1033

1034
check_SCRIPTS = \
1035
1036
1037
1038
  test_real_double_1stage.sh \
  test_real_double_2stage.sh \
  test_complex_double_1stage.sh \
  test_complex_double_2stage.sh \
1039
1040
1041
1042
1043
1044
  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
1045

1046
1047
if WANT_SINGLE_PRECISION_REAL
check_SCRIPTS += \
1048
1049
1050
1051
1052
  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
1053
1054
1055
1056
endif

if WANT_SINGLE_PRECISION_COMPLEX
check_SCRIPTS += \
1057
1058
1059
1060
1061
  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
1062
1063
1064
1065
endif

if WITH_GPU_VERSION
check_SCRIPTS += \
1066
1067
1068
1069
  complex_1stage_gpu@SUFFIX@.sh \
  complex_2stage_gpu@SUFFIX@.sh \
  real_1stage_gpu@SUFFIX@.sh \
  real_2stage_gpu@SUFFIX@.sh
1070

1071
1072
if WANT_SINGLE_PRECISION_REAL
check_SCRIPTS += \
1073
1074
  single_real_1stage_gpu@SUFFIX@.sh \
  single_real_2stage_gpu@SUFFIX@.sh
1075
endif
1076

1077
1078
if WANT_SINGLE_PRECISION_COMPLEX
check_SCRIPTS += \
1079
1080
  single_complex_1stage_gpu@SUFFIX@.sh \
  single_complex_2stage_gpu@SUFFIX@.sh
1081
1082
1083
endif
endif

1084
1085
if ENABLE_LEGACY
check_SCRIPTS += \
Andreas Marek's avatar
Andreas Marek committed
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
  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
1111
1112
1113

if WANT_SINGLE_PRECISION_REAL
check_SCRIPTS += \
Andreas Marek's avatar
Andreas Marek committed
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
  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
1124
1125
1126
1127
endif

if WANT_SINGLE_PRECISION_COMPLEX
check_SCRIPTS += \
Andreas Marek's avatar
Andreas Marek committed
1128
1129
1130
1131
1132
1133
1134
1135
1136
  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
1137
1138
1139
1140
endif

if WITH_GPU_VERSION
check_SCRIPTS += \
Andreas Marek's avatar
Andreas Marek committed
1141
1142
1143
1144
  legacy_real_1stage_gpu@SUFFIX@.sh \
  legacy_complex_1stage_gpu@SUFFIX@.sh \
  legacy_real_2stage_gpu@SUFFIX@.sh \
  legacy_complex_2stage_gpu@SUFFIX@.sh
1145
1146
1147

if WANT_SINGLE_PRECISION_REAL
check_SCRIPTS += \
Andreas Marek's avatar
Andreas Marek committed
1148
1149
  legacy_single_real_1stage_gpu@SUFFIX@.sh \
  legacy_single_real_2stage_gpu@SUFFIX@.sh
1150
1151
1152
endif
if WANT_SINGLE_PRECISION_COMPLEX
check_SCRIPTS += \
Andreas Marek's avatar
Andreas Marek committed
1153
1154
  legacy_single_complex_1stage_gpu@SUFFIX@.sh \
  legacy_single_complex_2stage_gpu@SUFFIX@.sh
1155
1156
1157
endif
endif
endif
1158

1159
# test scripts
1160
MPIEXEC ?= $(MPI_BINARY) -n 2
1161
if WITH_MPI
1162
  wrapper=$(MPIEXEC)
1163
else
1164
  wrapper=
1165
endif
1166
1167
TESTS = $(check_SCRIPTS)
%.sh: %
1168
1169
	@echo $(wrapper) ./$^ '$$TEST_FLAGS' > $@
	@chmod +x $@
1170

1171
1172
include doxygen.am

1173
CLEANFILES = \
Andreas Marek's avatar
Andreas Marek committed
1174
  elpa-generated.h \
Andreas Marek's avatar
Andreas Marek committed
1175
  elpa1_test* \
1176
  elpa2_test*\
Andreas Marek's avatar
Andreas Marek committed
1177
1178
  elpa2_real* \
  elpa1_real* \
1179
  elpa*.sh \
1180
  test*.sh \
Andreas Marek's avatar
Andreas Marek committed
1181
1182
1183
1184
1185
1186
1187
1188
  legacy_real* \
  legacy_complex* \
  legacy_single_real* \
  legacy_single_complex* \
  single_real* \
  single_complex* \
  real* \
  complex* \
1189
  *.i
1190
1191

clean-local:
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
1192
	-rm -rf modules/* private_modules/* .fortran_dependencies/*
1193
	-rm -rf $(generated_headers)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
1194
1195
1196

distclean-local:
	-rm config-f90.h
1197
	-rm -rf ./src/elpa2/kernels/.deps
1198
1199
	-rm -rf ./src/.deps
	-rm -rf ./test/.deps
1200
	-rmdir ./src/elpa2/kernels/
1201
1202
	-rmdir ./src
	-rmdir ./test
1203
	-rmdir ./m4
1204
	-rmdir modules/