Makefile.am 57.4 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_legacy.F90 \
  src/elpa2/legacy_interface/elpa2_utilities_legacy.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
71
  src/elpa2/legacy_interface/elpa_2stage_c_interface_legacy.F90
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_legacy.X90 \
105
  src/elpa1/legacy_interface/elpa1_c_interface_template.X90 \
106
  src/elpa2/legacy_interface/elpa2_c_interface_template_legacy.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
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
  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 \
  man/elpa_tests.1 \
  man/elpa2_print_kernels.1
Andreas Marek's avatar
Andreas Marek committed
374

375
if WANT_SINGLE_PRECISION_REAL
376
377
378
379
380
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
381
382
383
endif

if WANT_SINGLE_PRECISION_COMPLEX
384
385
386
387
388
389
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
390

391
dist_doc_DATA = README.md USERS_GUIDE.md INSTALL.md CONTRIBUTING.md LICENSE Changelog COPYING/COPYING COPYING/gpl.txt COPYING/lgpl.txt
392

393
394
# pkg-config stuff
pkgconfigdir = $(libdir)/pkgconfig
395
pkgconfig_DATA = @PKG_CONFIG_FILE@
396

397
398
# programs
bin_PROGRAMS = \
399
  elpa2_print_kernels@SUFFIX@
400

401
402
403
404
405
if ENABLE_LEGACY
bin_PROGRAMS += \
  elpa_tests@SUFFIX@
endif

406
noinst_PROGRAMS = \
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
  test_real_double_1stage \
  test_real_double_2stage \
  test_complex_double_1stage \
  test_complex_double_2stage \
  elpa_test_new_interface_real_2stage@SUFFIX@ \
  elpa_test_new_interface_complex_2stage@SUFFIX@ \
  elpa_test_new_interface_real_1stage@SUFFIX@ \
  elpa_test_new_interface_complex_1stage@SUFFIX@

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
  test_real_single_1stage \
  test_real_single_2stage \
  elpa_test_new_interface_real_single_2stage@SUFFIX@ \
  elpa_test_new_interface_real_single_1stage@SUFFIX@
endif

if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
  test_complex_single_1stage \
  test_complex_single_2stage \
  elpa_test_new_interface_complex_single_2stage@SUFFIX@ \
  elpa_test_new_interface_complex_single_1stage@SUFFIX@
endif

if WITH_GPU_VERSION
noinst_PROGRAMS += \
  elpa_test_new_interface_complex_1stage_gpu@SUFFIX@ \
  elpa_test_new_interface_complex_2stage_gpu@SUFFIX@ \
  elpa_test_new_interface_real_1stage_gpu@SUFFIX@ \
  elpa_test_new_interface_real_2stage_gpu@SUFFIX@

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
  elpa_test_new_interface_real_single_1stage_gpu@SUFFIX@ \
  elpa_test_new_interface_real_single_2stage_gpu@SUFFIX@
endif

if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
  elpa_test_new_interface_complex_single_1stage_gpu@SUFFIX@ \
  elpa_test_new_interface_complex_single_2stage_gpu@SUFFIX@
endif
endif


if ENABLE_LEGACY
noinst_PROGRAMS += \
455
  elpa1_test_real@SUFFIX@ \
456
457
  elpa1_test_complex@SUFFIX@ \
  elpa2_test_real@SUFFIX@ \
458
459
460
  elpa2_test_real_default@SUFFIX@ \
  elpa2_test_real_qr@SUFFIX@ \
  elpa2_test_real_api@SUFFIX@ \
461
  elpa2_test_real_banded@SUFFIX@ \
Andreas Marek's avatar
Andreas Marek committed
462
  elpa2_test_complex@SUFFIX@ \
463
  elpa2_test_complex_default@SUFFIX@ \
464
  elpa2_test_complex_api@SUFFIX@ \
465
  elpa2_test_complex_banded@SUFFIX@ \
466
  elpa_driver_real@SUFFIX@ \
467
  elpa_driver_complex@SUFFIX@ \
468
  elpa1_real_toeplitz@SUFFIX@ \
469
  elpa1_real_transpose_multiply@SUFFIX@ \
470
  elpa1_complex_transpose_multiply@SUFFIX@ \
471
  elpa1_real_cholesky@SUFFIX@ \
472
  elpa1_real_invert_trm@SUFFIX@ \
473
  elpa1_complex_cholesky@SUFFIX@ \
474
  elpa1_complex_invert_trm@SUFFIX@ \
475
  elpa1_test_real_with_c@SUFFIX@ \
Andreas Marek's avatar
Andreas Marek committed
476
477
478
  elpa1_test_real_c_version@SUFFIX@ \
  elpa1_test_complex_c_version@SUFFIX@ \
  elpa2_test_real_c_version@SUFFIX@ \
479
  elpa2_test_complex_c_version@SUFFIX@ \
480
  elpa_driver_real_c_version@SUFFIX@ \
481
  elpa_driver_complex_c_version@SUFFIX@
Andreas Marek's avatar
Andreas Marek committed
482

483
484
if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
485
486
  elpa1_test_complex_single_precision@SUFFIX@ \
  elpa2_test_complex_single_precision@SUFFIX@ \
487
  elpa2_test_complex_default_single_precision@SUFFIX@ \
488
  elpa1_complex_transpose_multiply_single_precision@SUFFIX@ \
489
  elpa_driver_complex_single_precision@SUFFIX@ \
490
  elpa1_complex_cholesky_single_precision@SUFFIX@ \
491
  elpa1_complex_invert_trm_single_precision@SUFFIX@ \
492
  elpa2_test_complex_api_single_precision@SUFFIX@ \
493
  elpa_driver_complex_c_version_single_precision@SUFFIX@
494
495
496
497
endif

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
498
499
  elpa1_test_real_single_precision@SUFFIX@ \
  elpa2_test_real_single_precision@SUFFIX@ \
500
501
  elpa2_test_real_default_single_precision@SUFFIX@ \
  elpa2_test_real_qr_single_precision@SUFFIX@ \
502
  elpa2_test_real_api_single_precision@SUFFIX@ \
503
  elpa_driver_real_single_precision@SUFFIX@ \
504
505
  elpa1_real_transpose_multiply_single_precision@SUFFIX@ \
  elpa1_real_cholesky_single_precision@SUFFIX@ \
506
  elpa1_real_invert_trm_single_precision@SUFFIX@ \
507
  elpa_driver_real_c_version_single_precision@SUFFIX@ \
508
  elpa1_real_toeplitz_single_precision@SUFFIX@
509
510
511
512
endif

if WITH_GPU_VERSION
noinst_PROGRAMS += \
513
514
515
  elpa1_test_complex_gpu@SUFFIX@ \
  elpa1_test_real_gpu@SUFFIX@ \
  elpa2_test_complex_gpu@SUFFIX@ \
516
  elpa2_test_real_gpu@SUFFIX@
517
518
519

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
520
  elpa1_test_real_gpu_single_precision@SUFFIX@ \
521
  elpa2_test_real_gpu_single_precision@SUFFIX@
522
523
524
525
endif

if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
526
  elpa1_test_complex_gpu_single_precision@SUFFIX@ \
527
528
  elpa2_test_complex_gpu_single_precision@SUFFIX@
endif
529
530
531
endif
endif

Andreas Marek's avatar
Andreas Marek committed
532
build_lib = libelpatest@SUFFIX@.la libelpa@SUFFIX@.la
533
534
535

# library with shared sources for the test files
noinst_LTLIBRARIES += libelpatest@SUFFIX@.la
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
536
libelpatest@SUFFIX@_la_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
537
libelpatest@SUFFIX@_la_SOURCES = \
538
539
540
541
542
543
544
545
546
547
548
549
  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
550

551
if HAVE_REDIRECT
552
libelpatest@SUFFIX@_la_SOURCES += \
553
554
555
556
557
558
559
  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)
560
elpa2_print_kernels@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
561
562
563

test_real_double_1stage_SOURCES = test/Fortran/test.F90
test_real_double_1stage_LDADD = $(build_lib) $(FCLIBS)
564
test_real_double_1stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
565
566
567
568
569
570
571
        -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)
572
test_real_double_2stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
573
574
575
576
577
578
579
        -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)
580
test_complex_double_1stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
581
582
583
584
585
586
587
        -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)
588
test_complex_double_2stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
589
590
591
592
593
594
595
596
        -DTEST_COMPLEX \
        -DTEST_DOUBLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0

if WANT_SINGLE_PRECISION_REAL
test_real_single_1stage_SOURCES = test/Fortran/test.F90
test_real_single_1stage_LDADD = $(build_lib) $(FCLIBS)
597
test_real_single_1stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
598
599
600
601
602
603
604
        -DTEST_REAL \
        -DTEST_SINGLE \
        -DTEST_SOLVER_1STAGE \
        -DTEST_GPU=0

test_real_single_2stage_SOURCES = test/Fortran/test.F90
test_real_single_2stage_LDADD = $(build_lib) $(FCLIBS)
605
test_real_single_2stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
606
607
608
609
        -DTEST_REAL \
        -DTEST_SINGLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0
610
endif
611
612
613
614

if WANT_SINGLE_PRECISION_COMPLEX
test_complex_single_1stage_SOURCES = test/Fortran/test.F90
test_complex_single_1stage_LDADD = $(build_lib) $(FCLIBS)
615
test_complex_single_1stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
616
617
618
619
620
621
622
        -DTEST_COMPLEX \
        -DTEST_SINGLE \
        -DTEST_SOLVER_1STAGE \
        -DTEST_GPU=0

test_complex_single_2stage_SOURCES = test/Fortran/test.F90
test_complex_single_2stage_LDADD = $(build_lib) $(FCLIBS)
623
test_complex_single_2stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules \
624
625
626
627
628
629
        -DTEST_COMPLEX \
        -DTEST_SINGLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0
endif

630
631
elpa_test_new_interface_real_2stage@SUFFIX@_SOURCES = test/Fortran/test_new_interface_real_2stage.F90
elpa_test_new_interface_real_2stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
632
elpa_test_new_interface_real_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
633
EXTRA_elpa_test_new_interface_real_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
634

635
636
elpa_test_new_interface_complex_2stage@SUFFIX@_SOURCES = test/Fortran/test_new_interface_complex_2stage.F90
elpa_test_new_interface_complex_2stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
637
elpa_test_new_interface_complex_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
638
639
640
641
EXTRA_elpa_test_new_interface_complex_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

elpa_test_new_interface_real_1stage@SUFFIX@_SOURCES = test/Fortran/test_new_interface_real_1stage.F90
elpa_test_new_interface_real_1stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
642
elpa_test_new_interface_real_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
643
644
645
646
EXTRA_elpa_test_new_interface_real_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

elpa_test_new_interface_complex_1stage@SUFFIX@_SOURCES = test/Fortran/test_new_interface_complex_1stage.F90
elpa_test_new_interface_complex_1stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
647
elpa_test_new_interface_complex_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
648
EXTRA_elpa_test_new_interface_complex_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
649

650
651
652
if WANT_SINGLE_PRECISION_REAL
elpa_test_new_interface_real_single_2stage@SUFFIX@_SOURCES = test/Fortran/test_new_interface_real_single_2stage.F90
elpa_test_new_interface_real_single_2stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
653
elpa_test_new_interface_real_single_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
654
655
656
657
EXTRA_elpa_test_new_interface_real_single_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

elpa_test_new_interface_real_single_1stage@SUFFIX@_SOURCES = test/Fortran/test_new_interface_real_single_1stage.F90
elpa_test_new_interface_real_single_1stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
658
elpa_test_new_interface_real_single_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
659
660
661
662
663
664
EXTRA_elpa_test_new_interface_real_single_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
endif

if WANT_SINGLE_PRECISION_COMPLEX
elpa_test_new_interface_complex_single_2stage@SUFFIX@_SOURCES = test/Fortran/test_new_interface_complex_single_2stage.F90
elpa_test_new_interface_complex_single_2stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
665
elpa_test_new_interface_complex_single_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
666
667
668
669
EXTRA_elpa_test_new_interface_complex_single_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

elpa_test_new_interface_complex_single_1stage@SUFFIX@_SOURCES = test/Fortran/test_new_interface_complex_single_1stage.F90
elpa_test_new_interface_complex_single_1stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
670
elpa_test_new_interface_complex_single_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
671
672
673
674
675
676
EXTRA_elpa_test_new_interface_complex_single_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
endif

if WITH_GPU_VERSION
elpa_test_new_interface_real_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/test_new_interface_real_1stage_gpu.F90
elpa_test_new_interface_real_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
677
elpa_test_new_interface_real_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
678
679
680
681
EXTRA_elpa_test_new_interface_real_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

elpa_test_new_interface_complex_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/test_new_interface_complex_1stage_gpu.F90
elpa_test_new_interface_complex_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
682
elpa_test_new_interface_complex_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
683
684
685
686
EXTRA_elpa_test_new_interface_complex_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

elpa_test_new_interface_real_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/test_new_interface_real_2stage_gpu.F90
elpa_test_new_interface_real_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
687
elpa_test_new_interface_real_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
688
689
690
691
EXTRA_elpa_test_new_interface_real_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

elpa_test_new_interface_complex_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/test_new_interface_complex_2stage_gpu.F90
elpa_test_new_interface_complex_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
692
elpa_test_new_interface_complex_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
693
694
695
696
697
698
EXTRA_elpa_test_new_interface_complex_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
endif

if WANT_SINGLE_PRECISION_REAL
elpa_test_new_interface_real_single_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/test_new_interface_real_single_1stage_gpu.F90
elpa_test_new_interface_real_single_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
699
elpa_test_new_interface_real_single_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
700
701
702
703
EXTRA_elpa_test_new_interface_real_single_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

elpa_test_new_interface_real_single_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/test_new_interface_real_single_2stage_gpu.F90
elpa_test_new_interface_real_single_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
704
elpa_test_new_interface_real_single_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
705
706
707
708
709
710
EXTRA_elpa_test_new_interface_real_single_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
endif

if WANT_SINGLE_PRECISION_COMPLEX
elpa_test_new_interface_complex_single_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/test_new_interface_complex_single_1stage_gpu.F90
elpa_test_new_interface_complex_single_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
711
elpa_test_new_interface_complex_single_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
712
713
714
715
EXTRA_elpa_test_new_interface_complex_single_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

elpa_test_new_interface_complex_single_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/test_new_interface_complex_single_2stage_gpu.F90
elpa_test_new_interface_complex_single_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
716
elpa_test_new_interface_complex_single_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
717
718
719
720
721
EXTRA_elpa_test_new_interface_complex_single_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
endif


if ENABLE_LEGACY
722
elpa1_test_real_c_version@SUFFIX@_SOURCES = test/C/elpa1_test_real_c_version.c
723
elpa1_test_real_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
724
elpa1_test_real_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
725
EXTRA_elpa1_test_real_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
726

727
elpa1_test_real_with_c@SUFFIX@_SOURCES = test/Fortran/test_real_with_c.F90
728
elpa1_test_real_with_c@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
729
elpa1_test_real_with_c@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
730
EXTRA_elpa1_test_real_with_c@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
731

732
733
elpa_driver_real_c_version@SUFFIX@_SOURCES = test/C/elpa_driver_real_c_version.c
elpa_driver_real_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
734
elpa_driver_real_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
735
736
EXTRA_elpa_driver_real_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

737
elpa1_test_complex_c_version@SUFFIX@_SOURCES = test/C/elpa1_test_complex_c_version.c
738
elpa1_test_complex_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
739
elpa1_test_complex_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
740
EXTRA_elpa1_test_complex_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
741

742
743
elpa_driver_complex_c_version@SUFFIX@_SOURCES = test/C/elpa_driver_complex_c_version.c
elpa_driver_complex_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
744
elpa_driver_complex_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
745
746
EXTRA_elpa_driver_complex_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

747
elpa2_test_real_c_version@SUFFIX@_SOURCES = test/C/elpa2_test_real_c_version.c
748
elpa2_test_real_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
749
elpa2_test_real_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
750
EXTRA_elpa2_test_real_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
751

752
elpa2_test_complex_c_version@SUFFIX@_SOURCES = test/C/elpa2_test_complex_c_version.c
753
elpa2_test_complex_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
754
elpa2_test_complex_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
755
EXTRA_elpa2_test_complex_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
756

757
elpa1_test_real@SUFFIX@_SOURCES = test/Fortran/elpa1/real.F90
758
elpa1_test_real@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
759
elpa1_test_real@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
760
EXTRA_elpa1_test_real@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
761

762
elpa1_real_toeplitz@SUFFIX@_SOURCES = test/Fortran/elpa1/toeplitz.F90
763
elpa1_real_toeplitz@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
764
elpa1_real_toeplitz@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
765
EXTRA_elpa1_real_toeplitz@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
766

767
768
elpa1_real_transpose_multiply@SUFFIX@_SOURCES = test/Fortran/test_transpose_multiply_real.F90
elpa1_real_transpose_multiply@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
769
elpa1_real_transpose_multiply@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
770
771
EXTRA_elpa1_real_transpose_multiply@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

772
773
elpa1_complex_transpose_multiply@SUFFIX@_SOURCES = test/Fortran/test_transpose_multiply_complex.F90
elpa1_complex_transpose_multiply@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
774
elpa1_complex_transpose_multiply@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
775
EXTRA_elpa1_complex_transpose_multiply@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
776

777
elpa1_real_cholesky@SUFFIX@_SOURCES = test/Fortran/elpa1/real_cholesky.F90
778
elpa1_real_cholesky@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
779
elpa1_real_cholesky@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
780
781
EXTRA_elpa1_real_cholesky@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

782
elpa1_real_invert_trm@SUFFIX@_SOURCES = test/Fortran/elpa1/real_invert_trm.F90
783
elpa1_real_invert_trm@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
784
elpa1_real_invert_trm@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
785
786
EXTRA_elpa1_real_invert_trm@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

787
elpa1_complex_cholesky@SUFFIX@_SOURCES = test/Fortran/elpa1/complex_cholesky.F90
788
elpa1_complex_cholesky@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
789
elpa1_complex_cholesky@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
790
791
EXTRA_elpa1_complex_cholesky@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

792
elpa1_complex_invert_trm@SUFFIX@_SOURCES = test/Fortran/elpa1/complex_invert_trm.F90
793
elpa1_complex_invert_trm@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
794
elpa1_complex_invert_trm@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
795
796
EXTRA_elpa1_complex_invert_trm@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

797
elpa2_test_real@SUFFIX@_SOURCES = test/Fortran/elpa2/real.F90
798
elpa2_test_real@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
799
elpa2_test_real@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
800
EXTRA_elpa2_test_real@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
801

802
elpa2_test_real_default@SUFFIX@_SOURCES = test/Fortran/elpa2/real_default_kernel.F90
803
elpa2_test_real_default@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
804
elpa2_test_real_default@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
805
EXTRA_elpa2_test_real_default@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
806

807
elpa2_test_real_qr@SUFFIX@_SOURCES = test/Fortran/elpa2/real_qr.F90
808
elpa2_test_real_qr@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
809
elpa2_test_real_qr@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
810
EXTRA_elpa2_test_real_qr@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
811

812
elpa2_test_real_api@SUFFIX@_SOURCES = test/Fortran/elpa2/real_api.F90
813
elpa2_test_real_api@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
814
elpa2_test_real_api@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
Andreas Marek's avatar
Typo    
Andreas Marek committed
815
EXTRA_elpa2_test_real_api@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
816

817
818
elpa2_test_real_banded@SUFFIX@_SOURCES = test/Fortran/test_real2_banded.F90
elpa2_test_real_banded@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
819
elpa2_test_real_banded@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
820
821
EXTRA_elpa2_test_real_banded@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

822
elpa1_test_complex@SUFFIX@_SOURCES = test/Fortran/elpa1/complex.F90
823
elpa1_test_complex@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
824
elpa1_test_complex@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
825
EXTRA_elpa1_test_complex@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
826

827
elpa2_test_complex@SUFFIX@_SOURCES = test/Fortran/elpa2/complex.F90
828
elpa2_test_complex@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
829
elpa2_test_complex@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
830
EXTRA_elpa2_test_complex@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
831

832
elpa2_test_complex_default@SUFFIX@_SOURCES = test/Fortran/elpa2/complex_default_kernel.F90
833
elpa2_test_complex_default@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
834
elpa2_test_complex_default@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
835
EXTRA_elpa2_test_complex_default@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
836

837
elpa2_test_complex_api@SUFFIX@_SOURCES = test/Fortran/elpa2/complex_api.F90
838
elpa2_test_complex_api@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
839
elpa2_test_complex_api@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
840
EXTRA_elpa2_test_complex_api@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
841

842
843
elpa2_test_complex_banded@SUFFIX@_SOURCES = test/Fortran/test_complex2_banded.F90
elpa2_test_complex_banded@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
844
elpa2_test_complex_banded@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
845
846
847
EXTRA_elpa2_test_complex_banded@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90


848
849
elpa_driver_real@SUFFIX@_SOURCES = test/Fortran/test_driver_real.F90
elpa_driver_real@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
850
elpa_driver_real@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
851
852
EXTRA_elpa_driver_real@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

853
854
elpa_driver_complex@SUFFIX@_SOURCES = test/Fortran/test_driver_complex.F90
elpa_driver_complex@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
855
elpa_driver_complex@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
856
857
EXTRA_elpa_driver_complex@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

858
859
elpa_tests@SUFFIX@_SOURCES = test/Fortran/elpa_tests.F90
elpa_tests@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
860
elpa_tests@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
861

862
if WANT_SINGLE_PRECISION_REAL
863
elpa1_test_real_single_precision@SUFFIX@_SOURCES = test/Fortran/elpa1/single_real.F90
864
elpa1_test_real_single_precision@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
865
elpa1_test_real_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
866
EXTRA_elpa1_test_real_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
867

868
elpa2_test_real_single_precision@SUFFIX@_SOURCES = test/Fortran/elpa2/single_real.F90
869
elpa2_test_real_single_precision@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
870
elpa2_test_real_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
871
EXTRA_elpa2_test_real_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
872

873
874
elpa_driver_real_single_precision@SUFFIX@_SOURCES = test/Fortran/test_driver_real_single.F90
elpa_driver_real_single_precision@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
875
elpa_driver_real_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
876
877
EXTRA_elpa_driver_real_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

878
elpa1_real_toeplitz_single_precision@SUFFIX@_SOURCES = test/Fortran/elpa1/single_toeplitz.F90
879
elpa1_real_toeplitz_single_precision@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
880
elpa1_real_toeplitz_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
881
882
EXTRA_elpa1_real_toeplitz_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

883
884
elpa1_real_transpose_multiply_single_precision@SUFFIX@_SOURCES = test/Fortran/test_transpose_multiply_real_single.F90
elpa1_real_transpose_multiply_single_precision@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
885
elpa1_real_transpose_multiply_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
886
887
EXTRA_elpa1_real_transpose_multiply_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

888
889
elpa_driver_real_c_version_single_precision@SUFFIX@_SOURCES = test/C/elpa_driver_real_c_version_single.c
elpa_driver_real_c_version_single_precision@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
890
elpa_driver_real_c_version_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
891
892
EXTRA_elpa_driver_real_c_version_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

893
elpa1_real_cholesky_single_precision@SUFFIX@_SOURCES = test/Fortran/elpa1/single_real_cholesky.F90
894
elpa1_real_cholesky_single_precision@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
895
elpa1_real_cholesky_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
896
897
EXTRA_elpa1_real_cholesky_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

898
elpa1_real_invert_trm_single_precision@SUFFIX@_SOURCES = test/Fortran/elpa1/single_real_invert_trm.F90
899
elpa1_real_invert_trm_single_precision@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
900
elpa1_real_invert_trm_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
901
902
EXTRA_elpa1_real_invert_trm_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

903
elpa2_test_real_default_single_precision@SUFFIX@_SOURCES = test/Fortran/elpa2/single_real_default_kernel.F90
904
elpa2_test_real_default_single_precision@SUFFIX@_LDADD = $(build_lib)
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
905
elpa2_test_real_default_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
906
EXTRA_elpa2_test_real_default_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90