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

3
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4
4

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

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

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

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

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

# internal parts
noinst_LTLIBRARIES += libelpa@SUFFIX@_private.la
Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
36
libelpa@SUFFIX@_private_la_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)private_modules $(FC_MODINC)private_modules
37
libelpa@SUFFIX@_private_la_SOURCES = \
38
  src/elpa_impl.F90 \
39
  src/elpa_abstract_impl.F90 \
40 41 42 43 44 45 46 47 48
  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_compute_private.F90 \
49
  src/elpa1/elpa1_auxiliary.F90 \
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
  src/elpa2/elpa2_determine_workload.F90 \
  src/elpa2/elpa2_compute.F90 \
  src/elpa2/kernels/mod_single_hh_trafo_real.F90 \
  src/GPU/check_for_gpu.F90 \
  src/GPU/mod_cuda.F90 \
  src/elpa2/GPU/interface_c_kernel.F90 \
  src/elpa2/mod_pack_unpack_gpu.F90 \
  src/elpa2/qr/qr_utils.F90 \
  src/elpa2/qr/elpa_qrkernels.F90 \
  src/elpa2/qr/elpa_pdlarfb.F90 \
  src/elpa2/qr/elpa_pdgeqrf.F90 \
  src/elpa1/elpa1.F90 \
  src/elpa2/elpa2.F90 \
  src/elpa_c_interface.c \
  src/elpa_index.c

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

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

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

122
if HAVE_DETAILED_TIMINGS
123 124 125 126 127 128 129 130 131
libelpa@SUFFIX@_private_la_SOURCES += \
  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
132 133 134 135 136 137

if ENABLE_LEGACY
libelpa@SUFFIX@_private_la_SOURCES += \
  src/helpers/timer.F90
endif

138
else
139 140
libelpa@SUFFIX@_private_la_SOURCES += \
  src/helpers/timer_dummy.F90
141 142
endif

143
if WITH_GPU_VERSION
Andreas Marek's avatar
Andreas Marek committed
144 145
  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
146 147
endif

148
if !WITH_MPI
149
  libelpa@SUFFIX@_private_la_SOURCES += src/helpers/mod_time_c.F90
150
if !HAVE_DETAILED_TIMINGS
151
  libelpa@SUFFIX@_private_la_SOURCES += src/ftimings/time.c
152 153 154
endif
endif

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

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

Andreas Marek's avatar
Andreas Marek committed
163
if WITH_REAL_GENERIC_SIMPLE_KERNEL
164
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_simple.F90
165 166
endif

Andreas Marek's avatar
Andreas Marek committed
167
if WITH_COMPLEX_GENERIC_SIMPLE_KERNEL
168
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_simple.F90
169 170
endif

Andreas Marek's avatar
Andreas Marek committed
171
if WITH_REAL_BGP_KERNEL
172
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_bgp.f90
173 174
endif

Andreas Marek's avatar
Andreas Marek committed
175
if WITH_REAL_BGQ_KERNEL
176
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_bgq.f90
177 178
endif

179
if WITH_REAL_SSE_ASSEMBLY_KERNEL
180
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_asm_x86_64_double_precision.s
181
if WANT_SINGLE_PRECISION_REAL
182
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_asm_x86_64_single_precision.s
183
endif
184

Andreas Marek's avatar
Andreas Marek committed
185
else
186
if WITH_COMPLEX_SSE_ASSEMBLY_KERNEL
187
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_asm_x86_64_double_precision.s
188
if WANT_SINGLE_PRECISION_COMPLEX
189
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_asm_x86_64_single_precision.s
190
endif
191 192
endif
endif
Andreas Marek's avatar
Andreas Marek committed
193

194
if WITH_REAL_SSE_BLOCK2_KERNEL
195
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_2hv_double_precision.c
196
if WANT_SINGLE_PRECISION_REAL
197
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_2hv_single_precision.c
198
endif
199 200
endif

Andreas Marek's avatar
Andreas Marek committed
201
if WITH_REAL_AVX_BLOCK2_KERNEL
202
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_2hv_double_precision.c
203
if WANT_SINGLE_PRECISION_REAL
204
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_2hv_single_precision.c
205
endif
206 207
else
if WITH_REAL_AVX2_BLOCK2_KERNEL
208
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_2hv_double_precision.c
209
if WANT_SINGLE_PRECISION_REAL
210
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_2hv_single_precision.c
211
endif
212
endif
213 214
endif

215
if WITH_REAL_AVX512_BLOCK2_KERNEL
216
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_2hv_double_precision.c
217
if WANT_SINGLE_PRECISION_REAL
218
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_2hv_single_precision.c
219
endif
220 221 222
endif


223
if WITH_REAL_SSE_BLOCK4_KERNEL
224
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_4hv_double_precision.c
225
if WANT_SINGLE_PRECISION_REAL
226
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_4hv_single_precision.c
227
endif
228 229
endif

Andreas Marek's avatar
Andreas Marek committed
230
if WITH_REAL_AVX_BLOCK4_KERNEL
231
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_4hv_double_precision.c
232
if WANT_SINGLE_PRECISION_REAL
233
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_4hv_single_precision.c
234
endif
235 236
else
if WITH_REAL_AVX2_BLOCK4_KERNEL
237
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_4hv_double_precision.c
238
if WANT_SINGLE_PRECISION_REAL
239
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_4hv_single_precision.c
240
endif
241
endif
242 243
endif

244
if WITH_REAL_AVX512_BLOCK4_KERNEL
245
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_4hv_double_precision.c
246
if WANT_SINGLE_PRECISION_REAL
247
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_4hv_single_precision.c
248
endif
249 250 251 252
endif



253
if WITH_REAL_SSE_BLOCK6_KERNEL
254
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_6hv_double_precision.c
255
if WANT_SINGLE_PRECISION_REAL
256
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_sse_6hv_single_precision.c
257
endif
258 259
endif

Andreas Marek's avatar
Andreas Marek committed
260
if WITH_REAL_AVX_BLOCK6_KERNEL
261
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_6hv_double_precision.c
262
if WANT_SINGLE_PRECISION_REAL
263
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_6hv_single_precision.c
264
endif
265 266
else
if WITH_REAL_AVX2_BLOCK6_KERNEL
267
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_6hv_double_precision.c
268
if WANT_SINGLE_PRECISION_REAL
269
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx-avx2_6hv_single_precision.c
270
endif
271
endif
272 273
endif

274
if WITH_REAL_AVX512_BLOCK6_KERNEL
275
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_6hv_double_precision.c
276
if WANT_SINGLE_PRECISION_REAL
277
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_real_avx512_6hv_single_precision.c
278
endif
279 280 281
endif


282
if WITH_COMPLEX_SSE_BLOCK1_KERNEL
283
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_sse_1hv_double_precision.c
284
if WANT_SINGLE_PRECISION_COMPLEX
285
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_sse_1hv_single_precision.c
286
endif
287 288
endif

Andreas Marek's avatar
Andreas Marek committed
289
if WITH_COMPLEX_AVX_BLOCK1_KERNEL
290
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_1hv_double_precision.c
291
if WANT_SINGLE_PRECISION_COMPLEX
292
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_1hv_single_precision.c
293
endif
294 295
else
if WITH_COMPLEX_AVX2_BLOCK1_KERNEL
296
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_1hv_double_precision.c
297
if WANT_SINGLE_PRECISION_COMPLEX
298
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_1hv_single_precision.c
299
endif
300
endif
301 302
endif

303 304

if WITH_COMPLEX_AVX512_BLOCK1_KERNEL
305
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx512_1hv_double_precision.c
306
if WANT_SINGLE_PRECISION_COMPLEX
307
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx512_1hv_single_precision.c
308
endif
309 310
endif

311
if WITH_COMPLEX_SSE_BLOCK2_KERNEL
312
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_sse_2hv_double_precision.c
313
if WANT_SINGLE_PRECISION_COMPLEX
314
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_sse_2hv_single_precision.c
315
endif
316 317
endif

Andreas Marek's avatar
Andreas Marek committed
318
if WITH_COMPLEX_AVX_BLOCK2_KERNEL
319
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_2hv_double_precision.c
320
if WANT_SINGLE_PRECISION_COMPLEX
321
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_2hv_single_precision.c
322
endif
323 324
else
if WITH_COMPLEX_AVX2_BLOCK2_KERNEL
325
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_2hv_double_precision.c
326
if WANT_SINGLE_PRECISION_COMPLEX
327
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx-avx2_2hv_single_precision.c
328
endif
329
endif
330 331
endif

332
if WITH_COMPLEX_AVX512_BLOCK2_KERNEL
333
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx512_2hv_double_precision.c
334
if WANT_SINGLE_PRECISION_COMPLEX
335
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2/kernels/elpa2_kernels_complex_avx512_2hv_single_precision.c
336
endif
337 338
endif

339
# Cuda files
340
.cu.lo:
341
	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
342

343 344 345 346 347
# Assembly files
LTCCASCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CCAS) $(AM_CCASFLAGS) \
	$(CCASFLAGS)

348 349 350
include generated_headers.am
BUILT_SOURCES = $(generated_headers)

351
# install public headers and Fortran modules files in the include/ dir
352
elpa_includedir = $(includedir)/elpa@SUFFIX@-@PACKAGE_VERSION@
353
nobase_elpa_include_HEADERS = $(wildcard modules/*) $(wildcard elpa/*)
354

Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
355
dist_man_MANS = \
356 357 358 359
  man/elpa2_print_kernels.1

if ENABLE_LEGACY
dist_man_MANS += \
360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383
  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 \
384 385 386
  man/elpa_tests.1
endif

Andreas Marek's avatar
Andreas Marek committed
387

388
if WANT_SINGLE_PRECISION_REAL
389
if ENABLE_LEGACY
390 391 392 393 394
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
395
endif
396
endif
397 398

if WANT_SINGLE_PRECISION_COMPLEX
399
if ENABLE_LEGACY
400 401 402 403 404 405
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
406
endif
407

408
dist_doc_DATA = README.md USERS_GUIDE.md INSTALL.md CONTRIBUTING.md LICENSE Changelog COPYING/COPYING COPYING/gpl.txt COPYING/lgpl.txt
409

410 411
# pkg-config stuff
pkgconfigdir = $(libdir)/pkgconfig
412
pkgconfig_DATA = @PKG_CONFIG_FILE@
413

414 415
# programs
bin_PROGRAMS = \
416
  elpa2_print_kernels@SUFFIX@
417

418 419 420 421 422
if ENABLE_LEGACY
bin_PROGRAMS += \
  elpa_tests@SUFFIX@
endif

423
noinst_PROGRAMS = \
424 425 426 427
  test_real_double_1stage \
  test_real_double_2stage \
  test_complex_double_1stage \
  test_complex_double_2stage \
428 429 430 431
  test_c_real_double_1stage \
  test_c_real_double_2stage \
  test_c_complex_double_1stage \
  test_c_complex_double_2stage \
432
  double_instance@SUFFIX@ \
433 434 435 436 437 438
  real_2stage_banded@SUFFIX@ \
  complex_2stage_banded@SUFFIX@ \
  real_2stage@SUFFIX@ \
  complex_2stage@SUFFIX@ \
  real_1stage@SUFFIX@ \
  complex_1stage@SUFFIX@
439 440 441

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
442 443
  test_single_real_1stage \
  test_single_real_2stage \
444 445
  test_c_single_real_1stage \
  test_c_single_real_2stage \
446 447 448
  single_real_2stage_banded@SUFFIX@ \
  single_real_2stage@SUFFIX@ \
  single_real_1stage@SUFFIX@
449 450 451 452
endif

if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
453 454
  test_single_complex_1stage \
  test_single_complex_2stage \
455 456
  test_c_single_complex_1stage \
  test_c_single_complex_2stage \
457 458 459
  single_complex_2stage_banded@SUFFIX@ \
  single_complex_2stage@SUFFIX@ \
  single_complex_1stage@SUFFIX@
460 461 462 463
endif

if WITH_GPU_VERSION
noinst_PROGRAMS += \
464 465 466 467
  complex_1stage_gpu@SUFFIX@ \
  complex_2stage_gpu@SUFFIX@ \
  real_1stage_gpu@SUFFIX@ \
  real_2stage_gpu@SUFFIX@
468 469 470

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
471 472
  single_real_1stage_gpu@SUFFIX@ \
  single_real_2stage_gpu@SUFFIX@
473 474 475 476
endif

if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
477 478
  single_complex_1stage_gpu@SUFFIX@ \
  single_complex_2stage_gpu@SUFFIX@
479 480 481 482 483 484
endif
endif


if ENABLE_LEGACY
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508
  legacy_real_1stage@SUFFIX@ \
  legacy_complex_1stage@SUFFIX@ \
  legacy_real_2stage@SUFFIX@ \
  legacy_real_2stage_default@SUFFIX@ \
  legacy_real_2stage_qr@SUFFIX@ \
  legacy_real_2stage_api@SUFFIX@ \
  legacy_complex_2stage@SUFFIX@ \
  legacy_complex_2stage_default@SUFFIX@ \
  legacy_complex_2stage_api@SUFFIX@ \
  legacy_real_driver@SUFFIX@ \
  legacy_complex_driver@SUFFIX@ \
  legacy_real_toeplitz@SUFFIX@ \
  legacy_real_transpose_multiply@SUFFIX@ \
  legacy_complex_transpose_multiply@SUFFIX@ \
  legacy_real_cholesky@SUFFIX@ \
  legacy_real_invert_trm@SUFFIX@ \
  legacy_complex_cholesky@SUFFIX@ \
  legacy_complex_invert_trm@SUFFIX@ \
  legacy_real_1stage_c_version@SUFFIX@ \
  legacy_complex_1stage_c_version@SUFFIX@ \
  legacy_real_2stage_c_version@SUFFIX@ \
  legacy_complex_2stage_c_version@SUFFIX@ \
  legacy_real_driver_c_version@SUFFIX@ \
  legacy_complex_driver_c_version@SUFFIX@
Andreas Marek's avatar
Andreas Marek committed
509

510 511
if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
512 513 514 515 516 517 518 519 520
  legacy_single_complex_1stage@SUFFIX@ \
  legacy_single_complex_2stage@SUFFIX@ \
  legacy_single_complex_2stage_default@SUFFIX@ \
  legacy_single_complex_transpose_multiply@SUFFIX@ \
  legacy_single_complex_driver@SUFFIX@ \
  legacy_single_complex_cholesky@SUFFIX@ \
  legacy_single_complex_invert_trm@SUFFIX@ \
  legacy_single_complex_2stage_api@SUFFIX@ \
  legacy_single_complex_driver_c_version@SUFFIX@
521 522 523 524
endif

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
525 526 527 528 529 530 531 532 533 534 535
  legacy_single_real_1stage@SUFFIX@ \
  legacy_single_real_2stage@SUFFIX@ \
  legacy_single_real_2stage_default@SUFFIX@ \
  legacy_single_real_2stage_qr@SUFFIX@ \
  legacy_single_real_2stage_api@SUFFIX@ \
  legacy_single_real_driver@SUFFIX@ \
  legacy_single_real_transpose_multiply@SUFFIX@ \
  legacy_single_real_cholesky@SUFFIX@ \
  legacy_single_real_invert_trm@SUFFIX@ \
  legacy_single_real_driver_c_version@SUFFIX@ \
  legacy_single_real_toeplitz@SUFFIX@
536 537 538 539
endif

if WITH_GPU_VERSION
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
540 541 542 543
  legacy_complex_1stage_gpu@SUFFIX@ \
  legacy_real_1stage_gpu@SUFFIX@ \
  legacy_complex_2stage_gpu@SUFFIX@ \
  legacy_real_2stage_gpu@SUFFIX@
544 545 546

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
547 548
  legacy_single_real_1stage_gpu@SUFFIX@ \
  legacy_single_real_2stage_gpu@SUFFIX@
549 550 551 552
endif

if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
Andreas Marek's avatar
Andreas Marek committed
553 554
  legacy_single_complex_1stage_gpu@SUFFIX@ \
  legacy_single_complex_2stage_gpu@SUFFIX@
555
endif
556 557 558
endif
endif

Andreas Marek's avatar
Andreas Marek committed
559
build_lib = libelpatest@SUFFIX@.la libelpa@SUFFIX@.la
560 561 562

# library with shared sources for the test files
noinst_LTLIBRARIES += libelpatest@SUFFIX@.la
563
libelpatest@SUFFIX@_la_FCFLAGS = $(AM_FCFLAGS) $(FC_MODOUT)test_modules $(FC_MODINC)modules
564
libelpatest@SUFFIX@_la_SOURCES = \
565 566 567 568 569 570 571 572 573
  test/shared/test_util.F90 \
  test/shared/test_read_input_parameters.F90 \
  test/shared/test_check_correctness.F90 \
  test/shared/test_check_correctness_template.X90 \
  test/shared/test_setup_mpi.F90 \
  test/shared/test_blacs_infrastructure.F90 \
  test/shared/test_prepare_matrix.F90 \
  test/shared/test_prepare_matrix_template.X90 \
  test/shared/test_output_type.F90
Andreas Marek's avatar
Andreas Marek committed
574

575
if HAVE_REDIRECT
576
libelpatest@SUFFIX@_la_SOURCES += \
577 578
  test/shared/test_redir.c \
  test/shared/test_redirect.F90
579 580 581 582 583
endif


elpa2_print_kernels@SUFFIX@_SOURCES = src/elpa2/elpa2_print_kernels.F90
elpa2_print_kernels@SUFFIX@_LDADD = $(build_lib)
584
elpa2_print_kernels@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)modules
585 586 587

test_real_double_1stage_SOURCES = test/Fortran/test.F90
test_real_double_1stage_LDADD = $(build_lib) $(FCLIBS)
588
test_real_double_1stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules \
589 590 591 592 593 594 595
        -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)
596
test_real_double_2stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules \
597 598 599 600 601 602 603
        -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)
604
test_complex_double_1stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules \
605 606 607 608 609 610 611
        -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)
612
test_complex_double_2stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules \
613 614 615 616 617 618
        -DTEST_COMPLEX \
        -DTEST_DOUBLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0

if WANT_SINGLE_PRECISION_REAL
619 620
test_single_real_1stage_SOURCES = test/Fortran/test.F90
test_single_real_1stage_LDADD = $(build_lib) $(FCLIBS)
621
test_single_real_1stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules \
622 623 624 625 626
        -DTEST_REAL \
        -DTEST_SINGLE \
        -DTEST_SOLVER_1STAGE \
        -DTEST_GPU=0

627 628
test_single_real_2stage_SOURCES = test/Fortran/test.F90
test_single_real_2stage_LDADD = $(build_lib) $(FCLIBS)
629
test_single_real_2stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules \
630 631 632 633
        -DTEST_REAL \
        -DTEST_SINGLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0
634
endif
635 636

if WANT_SINGLE_PRECISION_COMPLEX
637 638
test_single_complex_1stage_SOURCES = test/Fortran/test.F90
test_single_complex_1stage_LDADD = $(build_lib) $(FCLIBS)
639
test_single_complex_1stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules \
640 641 642 643 644
        -DTEST_COMPLEX \
        -DTEST_SINGLE \
        -DTEST_SOLVER_1STAGE \
        -DTEST_GPU=0

645 646
test_single_complex_2stage_SOURCES = test/Fortran/test.F90
test_single_complex_2stage_LDADD = $(build_lib) $(FCLIBS)
647
test_single_complex_2stage_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules \
648 649 650 651 652
        -DTEST_COMPLEX \
        -DTEST_SINGLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0
endif
653

654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721
test_c_real_double_1stage_SOURCES = test/C/test.c
test_c_real_double_1stage_LDADD = $(build_lib) $(FCLIBS)
test_c_real_double_1stage_CFLAGS = $(AM_CFLAGS) \
        -DTEST_REAL \
        -DTEST_DOUBLE \
        -DTEST_SOLVER_1STAGE \
        -DTEST_GPU=0

test_c_real_double_2stage_SOURCES = test/C/test.c
test_c_real_double_2stage_LDADD = $(build_lib) $(FCLIBS)
test_c_real_double_2stage_CFLAGS = $(AM_CFLAGS) \
        -DTEST_REAL \
        -DTEST_DOUBLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0

test_c_complex_double_1stage_SOURCES = test/C/test.c
test_c_complex_double_1stage_LDADD = $(build_lib) $(FCLIBS)
test_c_complex_double_1stage_CFLAGS = $(AM_CFLAGS) \
        -DTEST_COMPLEX \
        -DTEST_DOUBLE \
        -DTEST_SOLVER_1STAGE \
        -DTEST_GPU=0

test_c_complex_double_2stage_SOURCES = test/C/test.c
test_c_complex_double_2stage_LDADD = $(build_lib) $(FCLIBS)
test_c_complex_double_2stage_CFLAGS = $(AM_CFLAGS) \
        -DTEST_COMPLEX \
        -DTEST_DOUBLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0

if WANT_SINGLE_PRECISION_REAL
test_c_single_real_1stage_SOURCES = test/C/test.c
test_c_single_real_1stage_LDADD = $(build_lib) $(FCLIBS)
test_c_single_real_1stage_CFLAGS = $(AM_CFLAGS) \
        -DTEST_REAL \
        -DTEST_SINGLE \
        -DTEST_SOLVER_1STAGE \
        -DTEST_GPU=0

test_c_single_real_2stage_SOURCES = test/C/test.c
test_c_single_real_2stage_LDADD = $(build_lib) $(FCLIBS)
test_c_single_real_2stage_CFLAGS = $(AM_CFLAGS) \
        -DTEST_REAL \
        -DTEST_SINGLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0
endif

if WANT_SINGLE_PRECISION_COMPLEX
test_c_single_complex_1stage_SOURCES = test/C/test.c
test_c_single_complex_1stage_LDADD = $(build_lib) $(FCLIBS)
test_c_single_complex_1stage_CFLAGS = $(AM_CFLAGS) \
        -DTEST_COMPLEX \
        -DTEST_SINGLE \
        -DTEST_SOLVER_1STAGE \
        -DTEST_GPU=0

test_c_single_complex_2stage_SOURCES = test/C/test.c
test_c_single_complex_2stage_LDADD = $(build_lib) $(FCLIBS)
test_c_single_complex_2stage_CFLAGS = $(AM_CFLAGS) \
        -DTEST_COMPLEX \
        -DTEST_SINGLE \
        -DTEST_SOLVER_2STAGE \
        -DTEST_GPU=0
endif

722 723
double_instance@SUFFIX@_SOURCES = test/Fortran/elpa2/double_instance.F90
double_instance@SUFFIX@_LDADD = $(build_lib)
724
double_instance@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
725 726
EXTRA_double_instance@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

Andreas Marek's avatar
Andreas Marek committed
727 728
real_2stage_banded@SUFFIX@_SOURCES = test/Fortran/elpa2/real_2stage_banded.F90
real_2stage_banded@SUFFIX@_LDADD = $(build_lib)
729
real_2stage_banded@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
Andreas Marek's avatar
Andreas Marek committed
730
EXTRA_real_2stage_banded@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
731

Andreas Marek's avatar
Andreas Marek committed
732 733
complex_2stage_banded@SUFFIX@_SOURCES = test/Fortran/elpa2/complex_2stage_banded.F90
complex_2stage_banded@SUFFIX@_LDADD = $(build_lib)
734
complex_2stage_banded@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
Andreas Marek's avatar
Andreas Marek committed
735 736 737
EXTRA_complex_2stage_banded@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

real_2stage@SUFFIX@_SOURCES = test/Fortran/elpa2/real_2stage.F90
738
real_2stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
739
real_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
740
EXTRA_real_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
741

Andreas Marek's avatar
Andreas Marek committed
742
complex_2stage@SUFFIX@_SOURCES = test/Fortran/elpa2/complex_2stage.F90
743
complex_2stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
744
complex_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
745
EXTRA_complex_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
746

Andreas Marek's avatar
Andreas Marek committed
747
real_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/real_1stage.F90
748
real_1stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
749
real_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
750
EXTRA_real_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
751

Andreas Marek's avatar
Andreas Marek committed
752
complex_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/complex_1stage.F90
753
complex_1stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
754
complex_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
755
EXTRA_complex_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
756

757
if WANT_SINGLE_PRECISION_REAL
Andreas Marek's avatar
Andreas Marek committed
758
single_real_2stage@SUFFIX@_SOURCES = test/Fortran/elpa2/single_real_2stage.F90
759
single_real_2stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
760
single_real_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
761
EXTRA_single_real_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
762

Andreas Marek's avatar
Andreas Marek committed
763
single_real_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/single_real_1stage.F90
764
single_real_1stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
765
single_real_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
766
EXTRA_single_real_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
767 768 769
endif

if WANT_SINGLE_PRECISION_COMPLEX
Andreas Marek's avatar
Andreas Marek committed
770
single_complex_2stage@SUFFIX@_SOURCES = test/Fortran/elpa2/single_complex_2stage.F90
771
single_complex_2stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
772
single_complex_2stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
773
EXTRA_single_complex_2stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
774

Andreas Marek's avatar
Andreas Marek committed
775
single_complex_1stage@SUFFIX@_SOURCES = test/Fortran/elpa1/single_complex_1stage.F90
776
single_complex_1stage@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
777
single_complex_1stage@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
778
EXTRA_single_complex_1stage@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
779 780 781
endif

if WITH_GPU_VERSION
Andreas Marek's avatar
Andreas Marek committed
782
real_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa1/real_1stage_gpu.F90
783
real_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
784
real_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
785
EXTRA_real_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
786

Andreas Marek's avatar
Andreas Marek committed
787
complex_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa1/complex_1stage_gpu.F90
788
complex_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
789
complex_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
790
EXTRA_complex_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
791

Andreas Marek's avatar
Andreas Marek committed
792
real_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/real_2stage_gpu.F90
793
real_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
794
real_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
795
EXTRA_real_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
796

Andreas Marek's avatar
Andreas Marek committed
797
complex_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/complex_2stage_gpu.F90
798
complex_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
799
complex_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
800
EXTRA_complex_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
801 802 803
endif

if WANT_SINGLE_PRECISION_REAL
Andreas Marek's avatar
Andreas Marek committed
804 805
single_real_2stage_banded@SUFFIX@_SOURCES = test/Fortran/elpa2/single_real_2stage_banded.F90
single_real_2stage_banded@SUFFIX@_LDADD = $(build_lib)
806
single_real_2stage_banded@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
Andreas Marek's avatar
Andreas Marek committed
807 808 809
EXTRA_single_real_2stage_banded@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

single_real_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa1/single_real_1stage_gpu.F90
810
single_real_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
811
single_real_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
812
EXTRA_single_real_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
813

Andreas Marek's avatar
Andreas Marek committed
814
single_real_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/single_real_2stage_gpu.F90
815
single_real_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
816
single_real_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
817
EXTRA_single_real_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
818 819 820
endif

if WANT_SINGLE_PRECISION_COMPLEX
Andreas Marek's avatar
Andreas Marek committed
821 822
single_complex_2stage_banded@SUFFIX@_SOURCES = test/Fortran/elpa2/single_complex_2stage_banded.F90
single_complex_2stage_banded@SUFFIX@_LDADD = $(build_lib)
823
single_complex_2stage_banded@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
Andreas Marek's avatar
Andreas Marek committed
824 825 826
EXTRA_single_complex_2stage_banded@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

single_complex_1stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa1/single_complex_1stage_gpu.F90
827
single_complex_1stage_gpu@SUFFIX@_LDADD = $(build_lib)
828
single_complex_1stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
829
EXTRA_single_complex_1stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
830

Andreas Marek's avatar
Andreas Marek committed
831
single_complex_2stage_gpu@SUFFIX@_SOURCES = test/Fortran/elpa2/single_complex_2stage_gpu.F90
832
single_complex_2stage_gpu@SUFFIX@_LDADD = $(build_lib)
833
single_complex_2stage_gpu@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
834
EXTRA_single_complex_2stage_gpu@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
835 836 837 838
endif


if ENABLE_LEGACY
Andreas Marek's avatar
Andreas Marek committed
839 840
legacy_real_1stage_c_version@SUFFIX@_SOURCES = test/C/elpa1/legacy_interface/legacy_real_1stage_c_version.c
legacy_real_1stage_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
841
legacy_real_1stage_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
Andreas Marek's avatar
Andreas Marek committed
842 843 844 845
EXTRA_legacy_real_1stage_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_real_driver_c_version@SUFFIX@_SOURCES = test/C/driver/legacy_interface/legacy_real_driver_c_version.c
legacy_real_driver_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
846
legacy_real_driver_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
Andreas Marek's avatar
Andreas Marek committed
847 848 849 850
EXTRA_legacy_real_driver_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_complex_1stage_c_version@SUFFIX@_SOURCES = test/C/elpa1/legacy_interface/legacy_complex_1stage_c_version.c
legacy_complex_1stage_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
851
legacy_complex_1stage_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
Andreas Marek's avatar
Andreas Marek committed
852 853 854 855
EXTRA_legacy_complex_1stage_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_complex_driver_c_version@SUFFIX@_SOURCES = test/C/driver/legacy_interface/legacy_complex_driver_c_version.c
legacy_complex_driver_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
856
legacy_complex_driver_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
Andreas Marek's avatar
Andreas Marek committed
857 858 859 860
EXTRA_legacy_complex_driver_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_real_2stage_c_version@SUFFIX@_SOURCES = test/C/elpa2/legacy_interface/legacy_real_2stage_c_version.c
legacy_real_2stage_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
861
legacy_real_2stage_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
Andreas Marek's avatar
Andreas Marek committed
862 863 864 865
EXTRA_legacy_real_2stage_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90

legacy_complex_2stage_c_version@SUFFIX@_SOURCES = test/C/elpa2/legacy_interface/legacy_complex_2stage_c_version.c
legacy_complex_2stage_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
866
legacy_complex_2stage_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) $(FC_MODINC)test_modules $(FC_MODINC)modules
Andreas Marek's avatar
Andreas Marek committed
867 868 869 870
EXTRA_legacy_complex_2stage_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90