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

3
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4
4

5
AM_FCFLAGS = $(SCALAPACK_FCFLAGS) @FC_MODINC@modules
6
AM_LDFLAGS = $(SCALAPACK_LDFLAGS)
7 8 9

# libelpa

10 11
# parts with public interface
noinst_LTLIBRARIES = libelpa@SUFFIX@_public.la
12
libelpa@SUFFIX@_public_la_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@modules @FC_MODINC@private_modules
13
libelpa@SUFFIX@_public_la_SOURCES = \
14
	src/elpa.F90 \
15 16
        src/elpa1.F90 \
        src/elpa2.F90 \
17
	src/elpa1_auxiliary.F90 \
18
        src/elpa1_utilities.F90 \
19 20 21 22 23
        src/elpa2_utilities.F90 \
        src/elpa_utilities.F90

# internal parts
noinst_LTLIBRARIES += libelpa@SUFFIX@_private.la
24
libelpa@SUFFIX@_private_la_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
25
libelpa@SUFFIX@_private_la_SOURCES = \
26
        src/mod_precision.F90 \
27 28
        src/mod_mpi.F90 \
        src/mod_mpi_stubs.F90 \
29
	src/mod_redist_band.F90 \
Andreas Marek's avatar
Andreas Marek committed
30
        src/mod_pack_unpack_cpu.F90 \
31
        src/mod_compute_hh_trafo.F90 \
32
        src/aligned_mem.F90 \
33
        src/elpa1_compute_private.F90 \
34
	src/elpa2_determine_workload.F90 \
35
        src/elpa2_compute.F90 \
36 37
        src/elpa2_kernels/mod_fortran_interfaces.F90 \
        src/elpa2_kernels/mod_single_hh_trafo_real.F90 \
38
        src/elpa_c_interface.F90 \
39 40 41
        src/check_for_gpu.F90 \
        src/mod_cuda.F90 \
        src/interface_c_kernel.F90 \
Andreas Marek's avatar
Andreas Marek committed
42
        src/mod_pack_unpack_gpu.F90 \
43
        src/elpa_qr/qr_utils.F90 \
44
        src/elpa_qr/elpa_qrkernels.F90 \
45 46 47
        src/elpa_qr/elpa_pdlarfb.F90 \
        src/elpa_qr/elpa_pdgeqrf.F90

48
EXTRA_libelpa@SUFFIX@_private_la_DEPENDENCIES = \
49 50
        src/elpa_reduce_add_vectors.X90 \
        src/elpa_transpose_vectors.X90 \
51
        src/elpa1_compute_template.X90 \
52 53
        src/elpa2_compute_real_template.X90 \
        src/elpa2_compute_complex_template.X90 \
54 55 56 57 58
	src/elpa1_template.X90 \
	src/elpa2_template.X90 \
	src/elpa1_c_interface_template.X90 \
	src/elpa2_c_interface_template.X90 \
	src/elpa_driver_c_interface_template.X90 \
59
	src/elpa_solve_tridi_c_interface_template.X90 \
60
        src/elpa_mult_at_b_c_interface_template.X90 \
61
        src/elpa_mult_ah_b_c_interface_template.X90 \
62
	src/elpa2_bandred_template.X90 \
63
	src/elpa2_symm_matrix_allreduce_real_template.X90 \
64
	src/elpa2_trans_ev_band_to_full_template.X90 \
65
	src/elpa2_tridiag_band_template.X90 \
66
	src/elpa2_trans_ev_tridi_to_band_template.X90 \
67
	src/elpa2_herm_matrix_allreduce_complex_template.X90 \
68
	src/elpa2_kernels/elpa2_kernels_real_template.X90 \
69
	src/elpa2_kernels/elpa2_kernels_complex_template.X90 \
70
	src/elpa2_kernels/elpa2_kernels_simple_template.X90 \
Andreas Marek's avatar
Andreas Marek committed
71
	src/pack_unpack_cpu.X90 \
Andreas Marek's avatar
Andreas Marek committed
72
	src/pack_unpack_gpu.X90 \
73
	src/compute_hh_trafo.X90 \
74
        src/redist_band.X90 \
Andreas Marek's avatar
Andreas Marek committed
75 76
	src/sanity.X90 \
	src/elpa_cholesky_template.X90 \
Andreas Marek's avatar
Andreas Marek committed
77 78
	src/elpa_invert_trm.X90 \
	src/elpa_multiply_a_b.X90 \
79
	src/elpa_solve_tridi.X90 \
80
        src/precision_macros.h
81

82
lib_LTLIBRARIES = libelpa@SUFFIX@.la
83
libelpa@SUFFIX@_la_LINK = $(FCLINK) $(AM_LDFLAGS) -version-info $(ELPA_SO_VERSION)
84 85
libelpa@SUFFIX@_la_LIBADD = libelpa@SUFFIX@_public.la libelpa@SUFFIX@_private.la
libelpa@SUFFIX@_la_SOURCES =
86

87

88
if HAVE_DETAILED_TIMINGS
89
  libelpa@SUFFIX@_private_la_SOURCES += \
90 91 92 93 94 95 96 97 98
        src/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
99 100
else
  libelpa@SUFFIX@_private_la_SOURCES += \
Andreas Marek's avatar
Andreas Marek committed
101
        src/timer_dummy.F90
102 103
endif

104
if WITH_GPU_VERSION
105 106
  libelpa@SUFFIX@_private_la_SOURCES +=  src/cudaFunctions.cu src/cuUtils.cu src/ev_tridi_band_gpu_c_v2.cu
  EXTRA_libelpa@SUFFIX@_private_la_DEPENDENCIES +=   src/ev_tridi_band_gpu_c_v2_complex_template.Xcu src/ev_tridi_band_gpu_c_v2_real_template.Xcu
107 108
endif

109
if !WITH_MPI
110
  libelpa@SUFFIX@_private_la_SOURCES += src/mod_time_c.F90
111
if !HAVE_DETAILED_TIMINGS
112
  libelpa@SUFFIX@_private_la_SOURCES += src/ftimings/time.c
113 114 115
endif
endif

Andreas Marek's avatar
Andreas Marek committed
116
if WITH_REAL_GENERIC_KERNEL
117
  libelpa@SUFFIX@_private_la_SOURCES +=  src/elpa2_kernels/elpa2_kernels_real.F90
118 119
endif

Andreas Marek's avatar
Andreas Marek committed
120
if WITH_COMPLEX_GENERIC_KERNEL
121
  libelpa@SUFFIX@_private_la_SOURCES +=  src/elpa2_kernels/elpa2_kernels_complex.F90
122 123
endif

Andreas Marek's avatar
Andreas Marek committed
124
if WITH_REAL_GENERIC_SIMPLE_KERNEL
125
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_simple.F90
126 127
endif

Andreas Marek's avatar
Andreas Marek committed
128
if WITH_COMPLEX_GENERIC_SIMPLE_KERNEL
129
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_simple.F90
130 131
endif

Andreas Marek's avatar
Andreas Marek committed
132
if WITH_REAL_BGP_KERNEL
133
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_bgp.f90
134 135
endif

Andreas Marek's avatar
Andreas Marek committed
136
if WITH_REAL_BGQ_KERNEL
137
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_bgq.f90
138 139
endif

140
if WITH_REAL_SSE_ASSEMBLY_KERNEL
141
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_asm_x86_64_double_precision.s
142
if WANT_SINGLE_PRECISION_REAL
143
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_asm_x86_64_single_precision.s
144
endif
145

Andreas Marek's avatar
Andreas Marek committed
146
else
147
if WITH_COMPLEX_SSE_ASSEMBLY_KERNEL
148
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_asm_x86_64_double_precision.s
149
if WANT_SINGLE_PRECISION_COMPLEX
150
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_asm_x86_64_single_precision.s
151
endif
152 153
endif
endif
Andreas Marek's avatar
Andreas Marek committed
154

155
if WITH_REAL_SSE_BLOCK2_KERNEL
156
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_sse_2hv_double_precision.c
157
if WANT_SINGLE_PRECISION_REAL
158
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_sse_2hv_single_precision.c
159
endif
160 161
endif

Andreas Marek's avatar
Andreas Marek committed
162
if WITH_REAL_AVX_BLOCK2_KERNEL
163
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_2hv_double_precision.c
164
if WANT_SINGLE_PRECISION_REAL
165
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_2hv_single_precision.c
166
endif
167 168
else
if WITH_REAL_AVX2_BLOCK2_KERNEL
169
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_2hv_double_precision.c
170
if WANT_SINGLE_PRECISION_REAL
171
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_2hv_single_precision.c
172
endif
173
endif
174 175
endif

176 177
if WITH_REAL_AVX512_BLOCK2_KERNEL
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx512_2hv_double_precision.c
178 179 180
if WANT_SINGLE_PRECISION_REAL
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx512_2hv_single_precision.c
endif
181 182 183
endif


184
if WITH_REAL_SSE_BLOCK4_KERNEL
185
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_sse_4hv_double_precision.c
186
if WANT_SINGLE_PRECISION_REAL
187
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_sse_4hv_single_precision.c
188
endif
189 190
endif

Andreas Marek's avatar
Andreas Marek committed
191
if WITH_REAL_AVX_BLOCK4_KERNEL
192
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_4hv_double_precision.c
193
if WANT_SINGLE_PRECISION_REAL
194
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_4hv_single_precision.c
195
endif
196 197
else
if WITH_REAL_AVX2_BLOCK4_KERNEL
198
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_4hv_double_precision.c
199
if WANT_SINGLE_PRECISION_REAL
200
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_4hv_single_precision.c
201
endif
202
endif
203 204
endif

205 206
if WITH_REAL_AVX512_BLOCK4_KERNEL
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx512_4hv_double_precision.c
207 208 209
if WANT_SINGLE_PRECISION_REAL
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx512_4hv_single_precision.c
endif
210 211 212 213
endif



214
if WITH_REAL_SSE_BLOCK6_KERNEL
215
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_sse_6hv_double_precision.c
216
if WANT_SINGLE_PRECISION_REAL
217
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_sse_6hv_single_precision.c
218
endif
219 220
endif

Andreas Marek's avatar
Andreas Marek committed
221
if WITH_REAL_AVX_BLOCK6_KERNEL
222
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_6hv_double_precision.c
223
if WANT_SINGLE_PRECISION_REAL
224
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_6hv_single_precision.c
225
endif
226 227
else
if WITH_REAL_AVX2_BLOCK6_KERNEL
228
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_6hv_double_precision.c
229
if WANT_SINGLE_PRECISION_REAL
230
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_6hv_single_precision.c
231
endif
232
endif
233 234
endif

235 236
if WITH_REAL_AVX512_BLOCK6_KERNEL
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx512_6hv_double_precision.c
237 238 239
if WANT_SINGLE_PRECISION_REAL
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx512_6hv_single_precision.c
endif
240 241 242
endif


243
if WITH_COMPLEX_SSE_BLOCK1_KERNEL
244
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_sse_1hv_double_precision.c
245
if WANT_SINGLE_PRECISION_COMPLEX
246
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_sse_1hv_single_precision.c
247
endif
248 249
endif

Andreas Marek's avatar
Andreas Marek committed
250
if WITH_COMPLEX_AVX_BLOCK1_KERNEL
251
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_1hv_double_precision.c
252
if WANT_SINGLE_PRECISION_COMPLEX
253
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_1hv_single_precision.c
254
endif
255 256
else
if WITH_COMPLEX_AVX2_BLOCK1_KERNEL
257
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_1hv_double_precision.c
258
if WANT_SINGLE_PRECISION_COMPLEX
259
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_1hv_single_precision.c
260
endif
261
endif
262 263
endif

264 265 266

if WITH_COMPLEX_AVX512_BLOCK1_KERNEL
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx512_1hv_double_precision.c
267 268 269
if WANT_SINGLE_PRECISION_COMPLEX
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx512_1hv_single_precision.c
endif
270 271
endif

272
if WITH_COMPLEX_SSE_BLOCK2_KERNEL
273
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_sse_2hv_double_precision.c
274
if WANT_SINGLE_PRECISION_COMPLEX
275
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_sse_2hv_single_precision.c
276
endif
277 278
endif

Andreas Marek's avatar
Andreas Marek committed
279
if WITH_COMPLEX_AVX_BLOCK2_KERNEL
280
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_2hv_double_precision.c
281
if WANT_SINGLE_PRECISION_COMPLEX
282
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_2hv_single_precision.c
283
endif
284 285
else
if WITH_COMPLEX_AVX2_BLOCK2_KERNEL
286
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_2hv_double_precision.c
287
if WANT_SINGLE_PRECISION_COMPLEX
288
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_2hv_single_precision.c
289
endif
290
endif
291 292
endif

293 294
if WITH_COMPLEX_AVX512_BLOCK2_KERNEL
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx512_2hv_double_precision.c
295 296 297
if WANT_SINGLE_PRECISION_COMPLEX
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx512_2hv_single_precision.c
endif
298 299
endif

300
.cu.lo:
301
	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
302

303 304 305
include generated_headers.am
BUILT_SOURCES = $(generated_headers)

306
# install public Fortran modules files in the include/ dir
307
elpa_includedir = $(includedir)/elpa@SUFFIX@-@PACKAGE_VERSION@
308
nobase_elpa_include_HEADERS = $(wildcard modules/*)
Andreas Marek's avatar
Andreas Marek committed
309
nobase_elpa_include_HEADERS += elpa/elpa.h elpa/elpa_kernel_constants.h elpa/elpa_generated.h
310

Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
311
dist_man_MANS = \
312
           man/solve_evp_real.3 \
313
	   man/solve_evp_real_1stage_double.3 \
Andreas Marek's avatar
Andreas Marek committed
314
	   man/solve_evp_complex.3 \
315 316 317
	   man/solve_evp_complex_1stage_double.3 \
	   man/solve_evp_real_2stage_double.3 \
	   man/solve_evp_complex_2stage_double.3 \
318 319
	   man/elpa_solve_evp_real_1stage_double.3 \
	   man/elpa_solve_evp_complex_1stage_double.3 \
Andreas Marek's avatar
Andreas Marek committed
320 321
	   man/elpa_solve_evp_real_2stage_double.3 \
	   man/elpa_solve_evp_complex_2stage_double.3 \
Andreas Marek's avatar
Andreas Marek committed
322
	   man/get_elpa_row_col_comms.3 \
323
	   man/get_elpa_communicators.3 \
324 325
	   man/elpa_mult_at_b_real_double.3 \
	   man/elpa_mult_at_b_real_single.3 \
326 327
	   man/elpa_mult_ah_b_complex_double.3 \
	   man/elpa_mult_ah_b_complex_single.3 \
328 329
	   man/elpa_invert_trm_real_double.3 \
	   man/elpa_invert_trm_real_single.3 \
330 331
	   man/elpa_invert_trm_complex_double.3 \
	   man/elpa_invert_trm_complex_single.3 \
332 333 334 335
	   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 \
336
	   man/elpa_tests.1 \
337
	   man/elpa2_print_kernels.1
Andreas Marek's avatar
Andreas Marek committed
338

339 340
if WANT_SINGLE_PRECISION_REAL

341
dist_man_MANS += man/solve_evp_real_1stage_single.3 \
342
		 man/elpa_solve_evp_real_1stage_single.3 \
Andreas Marek's avatar
Andreas Marek committed
343
		 man/elpa_solve_evp_real_2stage_single.3 \
344
         	 man/solve_evp_real_2stage_single.3
Andreas Marek's avatar
Andreas Marek committed
345

346 347 348 349
endif

if WANT_SINGLE_PRECISION_COMPLEX

350
dist_man_MANS += man/solve_evp_complex_1stage_single.3 \
351
		 man/elpa_solve_evp_complex_1stage_single.3 \
Andreas Marek's avatar
Andreas Marek committed
352
		 man/elpa_solve_evp_complex_2stage_single.3 \
353
                 man/solve_evp_complex_2stage_single.3
354 355
endif

356 357
#needed?

358
# other files to distribute
359
filesdir = $(docdir)/examples
360
dist_files_DATA = \
361 362
  test/Fortran/read_real.F90 \
  test/Fortran/test_complex2.F90 \
363
  test/Fortran/test_complex2_default.F90 \
364
  test/Fortran/test_complex2_api.F90 \
365
  test/Fortran/test_complex2_banded.F90 \
366 367
  test/Fortran/test_complex.F90 \
  test/Fortran/test_real2.F90 \
368
  test/Fortran/test_real2_default.F90 \
369 370
  test/Fortran/test_real2_qr.F90 \
  test/Fortran/test_real2_api.F90 \
371
  test/Fortran/test_real2_banded.F90 \
372 373 374
  test/Fortran/test_real.F90 \
  test/Fortran/test_real_with_c.F90 \
  test/Fortran/test_toeplitz.F90 \
375
  test/Fortran/test_transpose_multiply_real.F90 \
376
  test/Fortran/test_transpose_multiply_complex.F90 \
377
  test/Fortran/test_cholesky_real.F90 \
378
  test/Fortran/test_invert_trm_real.F90 \
379
  test/Fortran/test_cholesky_complex.F90 \
380
  test/Fortran/test_invert_trm_complex.F90 \
381
  test/Fortran/elpa_tests.F90 \
382
  src/elpa2_print_kernels.F90
383

384 385
#end needed

386
dist_doc_DATA = README.md USERS_GUIDE.md INSTALL.md CONTRIBUTING.md LICENSE Changelog COPYING/COPYING COPYING/gpl.txt COPYING/lgpl.txt
387

388 389
# pkg-config stuff
pkgconfigdir = $(libdir)/pkgconfig
390
pkgconfig_DATA = @PKG_CONFIG_FILE@
391

392 393
# programs
bin_PROGRAMS = \
394
  elpa_tests@SUFFIX@ \
395
  elpa2_print_kernels@SUFFIX@
396 397

noinst_PROGRAMS = \
398
  elpa1_test_real@SUFFIX@ \
399 400
  elpa1_test_complex@SUFFIX@ \
  elpa2_test_real@SUFFIX@ \
401 402 403
  elpa2_test_real_default@SUFFIX@ \
  elpa2_test_real_qr@SUFFIX@ \
  elpa2_test_real_api@SUFFIX@ \
404
  elpa2_test_real_banded@SUFFIX@ \
Andreas Marek's avatar
Andreas Marek committed
405
  elpa2_test_complex@SUFFIX@ \
406
  elpa2_test_complex_default@SUFFIX@ \
407
  elpa2_test_complex_api@SUFFIX@ \
408
  elpa2_test_complex_api@SUFFIX@ \
409
  elpa2_test_complex_banded@SUFFIX@ \
410
  elpa_driver_real@SUFFIX@ \
411
  elpa_driver_complex@SUFFIX@ \
412
  elpa1_real_toeplitz@SUFFIX@ \
413
  elpa1_real_transpose_multiply@SUFFIX@ \
414
  elpa1_complex_transpose_multiply@SUFFIX@ \
415
  elpa1_real_cholesky@SUFFIX@ \
416
  elpa1_real_invert_trm@SUFFIX@ \
417
  elpa1_complex_cholesky@SUFFIX@ \
418
  elpa1_complex_invert_trm@SUFFIX@ \
419
  elpa1_test_real_with_c@SUFFIX@ \
Andreas Marek's avatar
Andreas Marek committed
420 421 422
  elpa1_test_real_c_version@SUFFIX@ \
  elpa1_test_complex_c_version@SUFFIX@ \
  elpa2_test_real_c_version@SUFFIX@ \
423
  elpa2_test_complex_c_version@SUFFIX@ \
424
  elpa_driver_real_c_version@SUFFIX@ \
425
  elpa_driver_complex_c_version@SUFFIX@
Andreas Marek's avatar
Andreas Marek committed
426

427 428
if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
429 430
  elpa1_test_complex_single_precision@SUFFIX@ \
  elpa2_test_complex_single_precision@SUFFIX@ \
431
  elpa2_test_complex_default_single_precision@SUFFIX@ \
432
  elpa1_complex_transpose_multiply_single_precision@SUFFIX@ \
433
  elpa_driver_complex_single_precision@SUFFIX@ \
434
  elpa1_complex_cholesky_single_precision@SUFFIX@ \
435
  elpa1_complex_invert_trm_single_precision@SUFFIX@ \
436 437
  elpa2_test_complex_api_single_precision@SUFFIX@ \
  elpa_driver_complex_c_version_single_precision@SUFFIX@
438 439 440 441
endif

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
442 443
  elpa1_test_real_single_precision@SUFFIX@ \
  elpa2_test_real_single_precision@SUFFIX@ \
444 445
  elpa2_test_real_default_single_precision@SUFFIX@ \
  elpa2_test_real_qr_single_precision@SUFFIX@ \
446
  elpa2_test_real_api_single_precision@SUFFIX@ \
447
  elpa_driver_real_single_precision@SUFFIX@ \
448 449
  elpa1_real_transpose_multiply_single_precision@SUFFIX@ \
  elpa1_real_cholesky_single_precision@SUFFIX@ \
450
  elpa1_real_invert_trm_single_precision@SUFFIX@ \
451
  elpa_driver_real_c_version_single_precision@SUFFIX@ \
452
  elpa1_real_toeplitz_single_precision@SUFFIX@
453 454 455 456
endif

if WITH_GPU_VERSION
noinst_PROGRAMS += \
457 458
  elpa1_test_complex_gpu@SUFFIX@ \
  elpa1_test_real_gpu@SUFFIX@ \
459 460
  elpa2_test_complex_gpu@SUFFIX@ \
  elpa2_test_real_gpu@SUFFIX@
461 462 463

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
464
  elpa1_test_real_gpu_single_precision@SUFFIX@ \
465
  elpa2_test_real_gpu_single_precision@SUFFIX@
466 467 468 469
endif

if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
470
  elpa1_test_complex_gpu_single_precision@SUFFIX@ \
471
  elpa2_test_complex_gpu_single_precision@SUFFIX@
472 473 474 475
endif

endif

Andreas Marek's avatar
Andreas Marek committed
476
build_lib = libelpatest@SUFFIX@.la libelpa@SUFFIX@.la
477 478 479 480 481

# library with shared sources for the test files
noinst_LTLIBRARIES += libelpatest@SUFFIX@.la
libelpatest@SUFFIX@_la_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
libelpatest@SUFFIX@_la_SOURCES = \
482 483 484 485 486 487 488 489 490
	test/shared/util.F90 \
	test/shared/read_input_parameters.F90  \
	test/shared/check_correctnes.F90 \
	test/shared/setup_mpi.F90 \
	test/shared/blacs_infrastructure.F90 \
	test/shared/prepare_matrix.F90 \
	test/shared/mod_output_types.F90 \
	test/shared/mod_from_c.F90 \
	test/shared/call_elpa1.c
Andreas Marek's avatar
Andreas Marek committed
491

492
if HAVE_REDIRECT
493
libelpatest@SUFFIX@_la_SOURCES += \
494 495
	test/shared/redir.c \
	test/shared/redirect.F90
496 497
endif

498
elpa1_test_real_c_version@SUFFIX@_SOURCES = test/C/elpa1_test_real_c_version.c
499
elpa1_test_real_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
500
elpa1_test_real_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
501
EXTRA_elpa1_test_real_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
502

503
elpa1_test_real_with_c@SUFFIX@_SOURCES = test/Fortran/test_real_with_c.F90
504
elpa1_test_real_with_c@SUFFIX@_LDADD = $(build_lib)
505
elpa1_test_real_with_c@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
506
EXTRA_elpa1_test_real_with_c@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
507

508 509 510 511 512
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)
elpa_driver_real_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa_driver_real_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

513
elpa1_test_complex_c_version@SUFFIX@_SOURCES = test/C/elpa1_test_complex_c_version.c
514
elpa1_test_complex_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
515
elpa1_test_complex_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
516
EXTRA_elpa1_test_complex_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
517

518 519 520 521 522
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)
elpa_driver_complex_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa_driver_complex_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

523
elpa2_test_real_c_version@SUFFIX@_SOURCES = test/C/elpa2_test_real_c_version.c
524
elpa2_test_real_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
525
elpa2_test_real_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
526
EXTRA_elpa2_test_real_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
527

528
elpa2_test_complex_c_version@SUFFIX@_SOURCES = test/C/elpa2_test_complex_c_version.c
529
elpa2_test_complex_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
530
elpa2_test_complex_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
531
EXTRA_elpa2_test_complex_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
532

533
elpa1_test_real@SUFFIX@_SOURCES = test/Fortran/test_real.F90
534
elpa1_test_real@SUFFIX@_LDADD = $(build_lib)
535
elpa1_test_real@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
536
EXTRA_elpa1_test_real@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
537

538 539 540 541
elpa1_real_toeplitz@SUFFIX@_SOURCES = test/Fortran/test_toeplitz.F90
elpa1_real_toeplitz@SUFFIX@_LDADD = $(build_lib)
elpa1_real_toeplitz@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_real_toeplitz@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
542

543 544 545 546 547
elpa1_real_transpose_multiply@SUFFIX@_SOURCES = test/Fortran/test_transpose_multiply_real.F90
elpa1_real_transpose_multiply@SUFFIX@_LDADD = $(build_lib)
elpa1_real_transpose_multiply@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_real_transpose_multiply@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

548 549 550 551
elpa1_complex_transpose_multiply@SUFFIX@_SOURCES = test/Fortran/test_transpose_multiply_complex.F90
elpa1_complex_transpose_multiply@SUFFIX@_LDADD = $(build_lib)
elpa1_complex_transpose_multiply@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_complex_transpose_multiply@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
552

553 554 555 556 557
elpa1_real_cholesky@SUFFIX@_SOURCES = test/Fortran/test_cholesky_real.F90
elpa1_real_cholesky@SUFFIX@_LDADD = $(build_lib)
elpa1_real_cholesky@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_real_cholesky@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

558 559 560 561 562
elpa1_real_invert_trm@SUFFIX@_SOURCES = test/Fortran/test_invert_trm_real.F90
elpa1_real_invert_trm@SUFFIX@_LDADD = $(build_lib)
elpa1_real_invert_trm@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_real_invert_trm@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

563 564 565 566 567
elpa1_complex_cholesky@SUFFIX@_SOURCES = test/Fortran/test_cholesky_complex.F90
elpa1_complex_cholesky@SUFFIX@_LDADD = $(build_lib)
elpa1_complex_cholesky@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_complex_cholesky@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

568 569 570 571 572
elpa1_complex_invert_trm@SUFFIX@_SOURCES = test/Fortran/test_invert_trm_complex.F90
elpa1_complex_invert_trm@SUFFIX@_LDADD = $(build_lib)
elpa1_complex_invert_trm@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_complex_invert_trm@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

573
elpa2_test_real@SUFFIX@_SOURCES = test/Fortran/test_real2.F90
574
elpa2_test_real@SUFFIX@_LDADD = $(build_lib)
575
elpa2_test_real@SUFFIX@_LDFLAGS = -static
576
elpa2_test_real@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
577
EXTRA_elpa2_test_real@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
578

579 580 581 582
elpa2_test_real_default@SUFFIX@_SOURCES = test/Fortran/test_real2_default.F90
elpa2_test_real_default@SUFFIX@_LDADD = $(build_lib)
elpa2_test_real_default@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa2_test_real_default@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
583

584 585 586 587
elpa2_test_real_qr@SUFFIX@_SOURCES = test/Fortran/test_real2_qr.F90
elpa2_test_real_qr@SUFFIX@_LDADD = $(build_lib)
elpa2_test_real_qr@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa2_test_real_qr@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
588

589 590 591
elpa2_test_real_api@SUFFIX@_SOURCES = test/Fortran/test_real2_api.F90
elpa2_test_real_api@SUFFIX@_LDADD = $(build_lib)
elpa2_test_real_api@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
Andreas Marek's avatar
Typo  
Andreas Marek committed
592
EXTRA_elpa2_test_real_api@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
593

594 595 596 597 598
elpa2_test_real_banded@SUFFIX@_SOURCES = test/Fortran/test_real2_banded.F90
elpa2_test_real_banded@SUFFIX@_LDADD = $(build_lib)
elpa2_test_real_banded@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa2_test_real_banded@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

599
elpa1_test_complex@SUFFIX@_SOURCES = test/Fortran/test_complex.F90
600
elpa1_test_complex@SUFFIX@_LDADD = $(build_lib)
601
elpa1_test_complex@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
602
EXTRA_elpa1_test_complex@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
603

604
elpa2_test_complex@SUFFIX@_SOURCES = test/Fortran/test_complex2.F90
605
elpa2_test_complex@SUFFIX@_LDADD = $(build_lib)
606
elpa2_test_complex@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
607
EXTRA_elpa2_test_complex@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
608

609 610 611 612
elpa2_test_complex_default@SUFFIX@_SOURCES = test/Fortran/test_complex2_default.F90
elpa2_test_complex_default@SUFFIX@_LDADD = $(build_lib)
elpa2_test_complex_default@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa2_test_complex_default@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
613

614 615 616 617
elpa2_test_complex_api@SUFFIX@_SOURCES = test/Fortran/test_complex2_api.F90
elpa2_test_complex_api@SUFFIX@_LDADD = $(build_lib)
elpa2_test_complex_api@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa2_test_complex_api@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
618

619 620 621 622 623 624
elpa2_test_complex_banded@SUFFIX@_SOURCES = test/Fortran/test_complex2_banded.F90
elpa2_test_complex_banded@SUFFIX@_LDADD = $(build_lib)
elpa2_test_complex_banded@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa2_test_complex_banded@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90


625 626 627 628 629
elpa_driver_real@SUFFIX@_SOURCES = test/Fortran/test_driver_real.F90
elpa_driver_real@SUFFIX@_LDADD = $(build_lib)
elpa_driver_real@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa_driver_real@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

630 631 632 633 634
elpa_driver_complex@SUFFIX@_SOURCES = test/Fortran/test_driver_complex.F90
elpa_driver_complex@SUFFIX@_LDADD = $(build_lib)
elpa_driver_complex@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa_driver_complex@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

635
elpa2_print_kernels@SUFFIX@_SOURCES = src/elpa2_print_kernels.F90
636
elpa2_print_kernels@SUFFIX@_LDADD = $(build_lib)
637
elpa2_print_kernels@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
Andreas Marek's avatar
Andreas Marek committed
638

639 640 641 642
elpa_tests@SUFFIX@_SOURCES = test/Fortran/elpa_tests.F90
elpa_tests@SUFFIX@_LDADD = $(build_lib)
elpa_tests@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules

643
if WANT_SINGLE_PRECISION_REAL
644
elpa1_test_real_single_precision@SUFFIX@_SOURCES = test/Fortran/test_real_single.F90
645
elpa1_test_real_single_precision@SUFFIX@_LDADD = $(build_lib)
646
elpa1_test_real_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
647
EXTRA_elpa1_test_real_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
648

649
elpa2_test_real_single_precision@SUFFIX@_SOURCES = test/Fortran/test_real2_single.F90
650 651
elpa2_test_real_single_precision@SUFFIX@_LDFLAGS = -static
elpa2_test_real_single_precision@SUFFIX@_LDADD = $(build_lib)
652
elpa2_test_real_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
653
EXTRA_elpa2_test_real_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
654

655 656 657 658 659
elpa_driver_real_single_precision@SUFFIX@_SOURCES = test/Fortran/test_driver_real_single.F90
elpa_driver_real_single_precision@SUFFIX@_LDADD = $(build_lib)
elpa_driver_real_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa_driver_real_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

660
elpa1_real_toeplitz_single_precision@SUFFIX@_SOURCES = test/Fortran/test_toeplitz_single.F90
661 662 663 664
elpa1_real_toeplitz_single_precision@SUFFIX@_LDADD = $(build_lib)
elpa1_real_toeplitz_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_real_toeplitz_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

665 666 667 668 669
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)
elpa1_real_transpose_multiply_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_real_transpose_multiply_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

670 671 672 673 674
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)
elpa_driver_real_c_version_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa_driver_real_c_version_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

675 676 677 678 679
elpa1_real_cholesky_single_precision@SUFFIX@_SOURCES = test/Fortran/test_cholesky_real_single.F90
elpa1_real_cholesky_single_precision@SUFFIX@_LDADD = $(build_lib)
elpa1_real_cholesky_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_real_cholesky_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

680 681 682 683 684
elpa1_real_invert_trm_single_precision@SUFFIX@_SOURCES = test/Fortran/test_invert_trm_real_single.F90
elpa1_real_invert_trm_single_precision@SUFFIX@_LDADD = $(build_lib)
elpa1_real_invert_trm_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_real_invert_trm_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

685
elpa2_test_real_default_single_precision@SUFFIX@_SOURCES = test/Fortran/test_real2_default_single.F90
686 687 688 689
elpa2_test_real_default_single_precision@SUFFIX@_LDADD = $(build_lib)
#elpa2_test_real_default_single_precision@SUFFIX@_LDFLAGS = -static
elpa2_test_real_default_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa2_test_real_default_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
690

691 692 693 694 695
elpa2_test_real_qr_single_precision@SUFFIX@_SOURCES = \
	        test/Fortran/test_real2_qr_single.F90
elpa2_test_real_qr_single_precision@SUFFIX@_LDADD = $(build_lib)
elpa2_test_real_qr_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa2_test_real_qr_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
696

697 698 699 700
elpa2_test_real_api_single_precision@SUFFIX@_SOURCES = test/Fortran/test_real2_api_single.F90
elpa2_test_real_api_single_precision@SUFFIX@_LDADD = $(build_lib)
elpa2_test_real_api_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa2_test_real_api_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
701 702 703
endif

if WANT_SINGLE_PRECISION_COMPLEX
704
elpa1_test_complex_single_precision@SUFFIX@_SOURCES = test/Fortran/test_complex_single.F90
705
elpa1_test_complex_single_precision@SUFFIX@_LDADD = $(build_lib)
706
elpa1_test_complex_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
707
EXTRA_elpa1_test_complex_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
708

709 710 711 712 713
elpa_driver_complex_single_precision@SUFFIX@_SOURCES = test/Fortran/test_driver_complex_single.F90
elpa_driver_complex_single_precision@SUFFIX@_LDADD = $(build_lib)
elpa_driver_complex_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa_driver_complex_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

714 715 716 717 718
elpa_driver_complex_c_version_single_precision@SUFFIX@_SOURCES = test/C/elpa_driver_complex_c_version_single.c
elpa_driver_complex_c_version_single_precision@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
elpa_driver_complex_c_version_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa_driver_complex_c_version_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

719
elpa2_test_complex_single_precision@SUFFIX@_SOURCES = test/Fortran/test_complex2_single.F90
720
elpa2_test_complex_single_precision@SUFFIX@_LDADD = $(build_lib)
721
elpa2_test_complex_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
722
EXTRA_elpa2_test_complex_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
723

724 725 726 727 728
elpa2_test_complex_default_single_precision@SUFFIX@_SOURCES = test/Fortran/test_complex2_default_single.F90 $(shared_sources) $(redirect_sources)
elpa2_test_complex_default_single_precision@SUFFIX@_LDADD = $(build_lib)
#elpa2_test_complex_default_single_precision@SUFFIX@_LDFLAGS = -static
elpa2_test_complex_default_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa2_test_complex_default_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
729

730 731 732 733
elpa1_complex_transpose_multiply_single_precision@SUFFIX@_SOURCES = test/Fortran/test_transpose_multiply_complex_single.F90
elpa1_complex_transpose_multiply_single_precision@SUFFIX@_LDADD = $(build_lib)
elpa1_complex_transpose_multiply_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_complex_transpose_multiply_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
734

735 736 737 738
elpa1_complex_cholesky_single_precision@SUFFIX@_SOURCES = test/Fortran/test_cholesky_complex_single.F90
elpa1_complex_cholesky_single_precision@SUFFIX@_LDADD = $(build_lib)
elpa1_complex_cholesky_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_complex_cholesky_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
739

740 741 742 743 744
elpa1_complex_invert_trm_single_precision@SUFFIX@_SOURCES = test/Fortran/test_invert_trm_complex_single.F90
elpa1_complex_invert_trm_single_precision@SUFFIX@_LDADD = $(build_lib)
elpa1_complex_invert_trm_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_complex_invert_trm_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

745 746 747 748
elpa2_test_complex_api_single_precision@SUFFIX@_SOURCES = test/Fortran/test_complex2_api_single.F90
elpa2_test_complex_api_single_precision@SUFFIX@_LDADD = $(build_lib)
elpa2_test_complex_api_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa2_test_complex_api_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
749 750 751
endif

if WITH_GPU_VERSION
752 753 754 755 756 757 758 759 760 761
elpa1_test_real_gpu@SUFFIX@_SOURCES = test/Fortran/test_real_gpu.F90
elpa1_test_real_gpu@SUFFIX@_LDADD = $(build_lib)
elpa1_test_real_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_test_real_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

elpa1_test_complex_gpu@SUFFIX@_SOURCES = test/Fortran/test_complex_gpu.F90
elpa1_test_complex_gpu@SUFFIX@_LDADD = $(build_lib)
elpa1_test_complex_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_test_complex_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

762 763 764 765
elpa2_test_real_gpu@SUFFIX@_SOURCES = test/Fortran/test_real2_gpu.F90
elpa2_test_real_gpu@SUFFIX@_LDADD = $(build_lib)
elpa2_test_real_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa2_test_real_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
766

767 768 769 770
elpa2_test_complex_gpu@SUFFIX@_SOURCES = test/Fortran/test_complex2_gpu.F90
elpa2_test_complex_gpu@SUFFIX@_LDADD = $(build_lib)
elpa2_test_complex_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa2_test_complex_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
771 772

if WANT_SINGLE_PRECISION_REAL
773 774 775 776 777
elpa1_test_real_gpu_single_precision@SUFFIX@_SOURCES = test/Fortran/test_real_gpu_single.F90
elpa1_test_real_gpu_single_precision@SUFFIX@_LDADD = $(build_lib)
elpa1_test_real_gpu_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_test_real_gpu_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

778 779 780 781
elpa2_test_real_gpu_single_precision@SUFFIX@_SOURCES = test/Fortran/test_real2_gpu_single.F90
elpa2_test_real_gpu_single_precision@SUFFIX@_LDADD = $(build_lib)
elpa2_test_real_gpu_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa2_test_real_gpu_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
782 783 784
endif

if WANT_SINGLE_PRECISION_COMPLEX
785 786 787 788 789
elpa1_test_complex_gpu_single_precision@SUFFIX@_SOURCES = test/Fortran/test_complex_gpu_single.F90
elpa1_test_complex_gpu_single_precision@SUFFIX@_LDADD = $(build_lib)
elpa1_test_complex_gpu_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa1_test_complex_gpu_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

790 791 792 793
elpa2_test_complex_gpu_single_precision@SUFFIX@_SOURCES = test/Fortran/test_complex2_gpu_single.F90
elpa2_test_complex_gpu_single_precision@SUFFIX@_LDADD = $(build_lib)
elpa2_test_complex_gpu_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
EXTRA_elpa2_test_complex_gpu_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
794 795 796
endif

endif
797
#  elpa2_test_real_default_kernel_qr_decomposition@SUFFIX@.sh
798

799
check_SCRIPTS = \