Makefile.am 42.1 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
        src/elpa2_utilities.F90 \
20
        src/elpa_utilities.F90
21 22 23

# 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 29 30 31 32 33
        src/mod_mpi.F90 \
        src/mod_mpi_stubs.F90 \
        src/mod_pack_unpack_real.F90 \
        src/mod_compute_hh_trafo_real.F90 \
        src/mod_compute_hh_trafo_complex.F90 \
        src/mod_pack_unpack_complex.F90 \
        src/aligned_mem.F90 \
34
        src/elpa1_compute_private.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 42
        src/check_for_gpu.F90 \
        src/mod_cuda.F90 \
        src/interface_c_kernel.F90 \
        src/mod_pack_unpack_real_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 52 53 54
        src/elpa1_compute_complex_template.X90 \
        src/elpa1_compute_real_template.X90 \
        src/elpa2_compute_real_template.X90 \
        src/elpa2_compute_complex_template.X90 \
55
	src/elpa2_kernels/elpa2_kernels_real_template.X90 \
56
	src/elpa2_kernels/elpa2_kernels_complex_template.X90 \
57
	src/elpa2_kernels/elpa2_kernels_simple_template.X90 \
58 59
        src/redist_band.X90 \
        src/precision_macros.h
60

61
lib_LTLIBRARIES = libelpa@SUFFIX@.la
62
libelpa@SUFFIX@_la_LINK = $(FCLINK) $(AM_LDFLAGS) -version-info $(ELPA_SO_VERSION)
63 64
libelpa@SUFFIX@_la_LIBADD = libelpa@SUFFIX@_public.la libelpa@SUFFIX@_private.la
libelpa@SUFFIX@_la_SOURCES =
65

66

67
if HAVE_DETAILED_TIMINGS
68
  libelpa@SUFFIX@_private_la_SOURCES += \
69 70 71 72 73 74 75 76 77
        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
78 79
endif

80
if WITH_GPU_VERSION
81 82
  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
83 84
endif

85
if !WITH_MPI
86
  libelpa@SUFFIX@_private_la_SOURCES += src/mod_time_c.F90
87
if !HAVE_DETAILED_TIMINGS
88
  libelpa@SUFFIX@_private_la_SOURCES += src/ftimings/time.c
89 90 91
endif
endif

Andreas Marek's avatar
Andreas Marek committed
92
if WITH_REAL_GENERIC_KERNEL
93
  libelpa@SUFFIX@_private_la_SOURCES +=  src/elpa2_kernels/elpa2_kernels_real.F90
94 95
endif

Andreas Marek's avatar
Andreas Marek committed
96
if WITH_COMPLEX_GENERIC_KERNEL
97
  libelpa@SUFFIX@_private_la_SOURCES +=  src/elpa2_kernels/elpa2_kernels_complex.F90
98 99
endif

Andreas Marek's avatar
Andreas Marek committed
100
if WITH_REAL_GENERIC_SIMPLE_KERNEL
101
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_simple.F90
102 103
endif

Andreas Marek's avatar
Andreas Marek committed
104
if WITH_COMPLEX_GENERIC_SIMPLE_KERNEL
105
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_simple.F90
106 107
endif

Andreas Marek's avatar
Andreas Marek committed
108
if WITH_REAL_BGP_KERNEL
109
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_bgp.f90
110 111
endif

Andreas Marek's avatar
Andreas Marek committed
112
if WITH_REAL_BGQ_KERNEL
113
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_bgq.f90
114 115
endif

116
if WITH_REAL_SSE_ASSEMBLY_KERNEL
117
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_asm_x86_64_double_precision.s
118
if WANT_SINGLE_PRECISION_REAL
119
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_asm_x86_64_single_precision.s
120
endif
121

Andreas Marek's avatar
Andreas Marek committed
122
else
123
if WITH_COMPLEX_SSE_ASSEMBLY_KERNEL
124
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_asm_x86_64_double_precision.s
125
if WANT_SINGLE_PRECISION_COMPLEX
126
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_asm_x86_64_single_precision.s
127
endif
128 129
endif
endif
Andreas Marek's avatar
Andreas Marek committed
130

131
if WITH_REAL_SSE_BLOCK2_KERNEL
132
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_sse_2hv_double_precision.c
133
if WANT_SINGLE_PRECISION_REAL
134
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_sse_2hv_single_precision.c
135
endif
136 137
endif

Andreas Marek's avatar
Andreas Marek committed
138
if WITH_REAL_AVX_BLOCK2_KERNEL
139
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_2hv_double_precision.c
140
if WANT_SINGLE_PRECISION_REAL
141
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_2hv_single_precision.c
142
endif
143 144
else
if WITH_REAL_AVX2_BLOCK2_KERNEL
145
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_2hv_double_precision.c
146
if WANT_SINGLE_PRECISION_REAL
147
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_2hv_single_precision.c
148
endif
149
endif
150 151
endif

152
if WITH_REAL_SSE_BLOCK4_KERNEL
153
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_sse_4hv_double_precision.c
154
if WANT_SINGLE_PRECISION_REAL
155
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_sse_4hv_single_precision.c
156
endif
157 158
endif

Andreas Marek's avatar
Andreas Marek committed
159
if WITH_REAL_AVX_BLOCK4_KERNEL
160
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_4hv_double_precision.c
161
if WANT_SINGLE_PRECISION_REAL
162
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_4hv_single_precision.c
163
endif
164 165
else
if WITH_REAL_AVX2_BLOCK4_KERNEL
166
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_4hv_double_precision.c
167
if WANT_SINGLE_PRECISION_REAL
168
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_4hv_single_precision.c
169
endif
170
endif
171 172
endif

173
if WITH_REAL_SSE_BLOCK6_KERNEL
174
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_sse_6hv_double_precision.c
175
if WANT_SINGLE_PRECISION_REAL
176
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_sse_6hv_single_precision.c
177
endif
178 179
endif

Andreas Marek's avatar
Andreas Marek committed
180
if WITH_REAL_AVX_BLOCK6_KERNEL
181
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_6hv_double_precision.c
182
if WANT_SINGLE_PRECISION_REAL
183
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_6hv_single_precision.c
184
endif
185 186
else
if WITH_REAL_AVX2_BLOCK6_KERNEL
187
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_6hv_double_precision.c
188
if WANT_SINGLE_PRECISION_REAL
189
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_real_avx-avx2_6hv_single_precision.c
190
endif
191
endif
192 193
endif

194
if WITH_COMPLEX_SSE_BLOCK1_KERNEL
195
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_sse_1hv_double_precision.c
196
if WANT_SINGLE_PRECISION_COMPLEX
197
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_sse_1hv_single_precision.c
198
endif
199 200
endif

Andreas Marek's avatar
Andreas Marek committed
201
if WITH_COMPLEX_AVX_BLOCK1_KERNEL
202
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_1hv_double_precision.c
203
if WANT_SINGLE_PRECISION_COMPLEX
204
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_1hv_single_precision.c
205
endif
206 207
else
if WITH_COMPLEX_AVX2_BLOCK1_KERNEL
208
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_1hv_double_precision.c
209
if WANT_SINGLE_PRECISION_COMPLEX
210
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_1hv_single_precision.c
211
endif
212
endif
213 214
endif

215
if WITH_COMPLEX_SSE_BLOCK2_KERNEL
216
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_sse_2hv_double_precision.c
217
if WANT_SINGLE_PRECISION_COMPLEX
218
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_sse_2hv_single_precision.c
219
endif
220 221
endif

Andreas Marek's avatar
Andreas Marek committed
222
if WITH_COMPLEX_AVX_BLOCK2_KERNEL
223
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_2hv_double_precision.c
224
if WANT_SINGLE_PRECISION_COMPLEX
225
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_2hv_single_precision.c
226
endif
227 228
else
if WITH_COMPLEX_AVX2_BLOCK2_KERNEL
229
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_2hv_double_precision.c
230
if WANT_SINGLE_PRECISION_COMPLEX
231
  libelpa@SUFFIX@_private_la_SOURCES += src/elpa2_kernels/elpa2_kernels_complex_avx-avx2_2hv_single_precision.c
232
endif
233
endif
234 235
endif

236
.cu.lo:
237
	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
238

239 240 241
include generated_headers.am
BUILT_SOURCES = $(generated_headers)

242
# install public Fortran modules files in the include/ dir
243
elpa_includedir = $(includedir)/elpa@SUFFIX@-@PACKAGE_VERSION@
244
nobase_elpa_include_HEADERS = $(wildcard modules/*)
Andreas Marek's avatar
Andreas Marek committed
245
nobase_elpa_include_HEADERS += elpa/elpa.h elpa/elpa_kernel_constants.h elpa/elpa_generated.h
246

Lorenz Huedepohl's avatar
Lorenz Huedepohl committed
247
dist_man_MANS = \
248
           man/solve_evp_real.3 \
249
	   man/solve_evp_real_1stage_double.3 \
Andreas Marek's avatar
Andreas Marek committed
250
	   man/solve_evp_complex.3 \
251 252 253
	   man/solve_evp_complex_1stage_double.3 \
	   man/solve_evp_real_2stage_double.3 \
	   man/solve_evp_complex_2stage_double.3 \
254 255
	   man/elpa_solve_evp_real_1stage_double.3 \
	   man/elpa_solve_evp_complex_1stage_double.3 \
Andreas Marek's avatar
Andreas Marek committed
256
	   man/get_elpa_row_col_comms.3 \
257
	   man/get_elpa_communicators.3 \
258 259
	   man/elpa_mult_at_b_real_double.3 \
	   man/elpa_mult_at_b_real_single.3 \
260 261
	   man/elpa_mult_ah_b_complex_double.3 \
	   man/elpa_mult_ah_b_complex_single.3 \
262 263
	   man/elpa_invert_trm_real_double.3 \
	   man/elpa_invert_trm_real_single.3 \
264 265
	   man/elpa_invert_trm_complex_double.3 \
	   man/elpa_invert_trm_complex_single.3 \
266 267 268 269
	   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 \
270
	   man/elpa2_print_kernels.1
Andreas Marek's avatar
Andreas Marek committed
271

272 273
if WANT_SINGLE_PRECISION_REAL

274
dist_man_MANS += man/solve_evp_real_1stage_single.3 \
275 276
		 man/elpa_solve_evp_real_1stage_single.3 \
         	 man/solve_evp_real_2stage_single.3
277 278 279 280
endif

if WANT_SINGLE_PRECISION_COMPLEX

281
dist_man_MANS += man/solve_evp_complex_1stage_single.3 \
282 283
		 man/elpa_solve_evp_complex_1stage_single.3 \
                 man/solve_evp_complex_2stage_single.3
284 285
endif

286 287
#needed?

288
# other files to distribute
289
filesdir = $(docdir)/examples
290
dist_files_DATA = \
291 292
  test/Fortran/read_real.F90 \
  test/Fortran/test_complex2.F90 \
293
  test/Fortran/test_complex2_default.F90 \
294 295 296
  test/Fortran/test_complex2_api.F90 \
  test/Fortran/test_complex.F90 \
  test/Fortran/test_real2.F90 \
297
  test/Fortran/test_real2_default.F90 \
298 299 300 301 302
  test/Fortran/test_real2_qr.F90 \
  test/Fortran/test_real2_api.F90 \
  test/Fortran/test_real.F90 \
  test/Fortran/test_real_with_c.F90 \
  test/Fortran/test_toeplitz.F90 \
303
  test/Fortran/test_transpose_multiply_real.F90 \
304
  test/Fortran/test_transpose_multiply_complex.F90 \
305
  test/Fortran/test_cholesky_real.F90 \
306
  test/Fortran/test_invert_trm_real.F90 \
307
  test/Fortran/test_cholesky_complex.F90 \
308
  test/Fortran/test_invert_trm_complex.F90 \
309
  src/elpa2_print_kernels.F90
310

311 312
#end needed

313
dist_doc_DATA = README.md USERS_GUIDE.md INSTALL.md CONTRIBUTING.md LICENSE Changelog COPYING/COPYING COPYING/gpl.txt COPYING/lgpl.txt
314

315 316
# pkg-config stuff
pkgconfigdir = $(libdir)/pkgconfig
317
pkgconfig_DATA = @PKG_CONFIG_FILE@
318

319 320
# programs
bin_PROGRAMS = \
321
  elpa2_print_kernels@SUFFIX@
322 323

noinst_PROGRAMS = \
324
  elpa1_test_real@SUFFIX@ \
325 326
  elpa1_test_complex@SUFFIX@ \
  elpa2_test_real@SUFFIX@ \
327 328 329
  elpa2_test_real_default@SUFFIX@ \
  elpa2_test_real_qr@SUFFIX@ \
  elpa2_test_real_api@SUFFIX@ \
Andreas Marek's avatar
Andreas Marek committed
330
  elpa2_test_complex@SUFFIX@ \
331
  elpa2_test_complex_default@SUFFIX@ \
332
  elpa2_test_complex_api@SUFFIX@ \
333 334
  elpa2_test_complex_api@SUFFIX@ \
  elpa_driver_real@SUFFIX@ \
335
  elpa_driver_complex@SUFFIX@ \
336
  elpa1_real_toeplitz@SUFFIX@ \
337
  elpa1_real_transpose_multiply@SUFFIX@ \
338
  elpa1_complex_transpose_multiply@SUFFIX@ \
339
  elpa1_real_cholesky@SUFFIX@ \
340
  elpa1_real_invert_trm@SUFFIX@ \
341
  elpa1_complex_cholesky@SUFFIX@ \
342
  elpa1_complex_invert_trm@SUFFIX@ \
343
  elpa1_test_real_with_c@SUFFIX@ \
Andreas Marek's avatar
Andreas Marek committed
344 345 346
  elpa1_test_real_c_version@SUFFIX@ \
  elpa1_test_complex_c_version@SUFFIX@ \
  elpa2_test_real_c_version@SUFFIX@ \
347
  elpa2_test_complex_c_version@SUFFIX@ \
348
  elpa_driver_real_c_version@SUFFIX@ \
349
  elpa_driver_complex_c_version@SUFFIX@
350

351 352
if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
353 354
  elpa1_test_complex_single_precision@SUFFIX@ \
  elpa2_test_complex_single_precision@SUFFIX@ \
355
  elpa2_test_complex_default_single_precision@SUFFIX@ \
356
  elpa1_complex_transpose_multiply_single_precision@SUFFIX@ \
357
  elpa_driver_complex_single_precision@SUFFIX@ \
358
  elpa1_complex_cholesky_single_precision@SUFFIX@ \
359
  elpa1_complex_invert_trm_single_precision@SUFFIX@ \
360 361
  elpa2_test_complex_api_single_precision@SUFFIX@ \
  elpa_driver_complex_c_version_single_precision@SUFFIX@
362 363 364 365
endif

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
366 367
  elpa1_test_real_single_precision@SUFFIX@ \
  elpa2_test_real_single_precision@SUFFIX@ \
368 369
  elpa2_test_real_default_single_precision@SUFFIX@ \
  elpa2_test_real_qr_single_precision@SUFFIX@ \
370
  elpa2_test_real_api_single_precision@SUFFIX@ \
371
  elpa_driver_real_single_precision@SUFFIX@ \
372 373
  elpa1_real_transpose_multiply_single_precision@SUFFIX@ \
  elpa1_real_cholesky_single_precision@SUFFIX@ \
374
  elpa1_real_invert_trm_single_precision@SUFFIX@ \
375
  elpa_driver_real_c_version_single_precision@SUFFIX@ \
376
  elpa1_real_toeplitz_single_precision@SUFFIX@
377 378 379 380
endif

if WITH_GPU_VERSION
noinst_PROGRAMS += \
381 382
  elpa1_test_complex_gpu@SUFFIX@ \
  elpa1_test_real_gpu@SUFFIX@ \
383 384
  elpa2_test_complex_gpu@SUFFIX@ \
  elpa2_test_real_gpu@SUFFIX@
385 386 387

if WANT_SINGLE_PRECISION_REAL
noinst_PROGRAMS += \
388
  elpa1_test_real_gpu_single_precision@SUFFIX@ \
389
  elpa2_test_real_gpu_single_precision@SUFFIX@
390 391 392 393
endif

if WANT_SINGLE_PRECISION_COMPLEX
noinst_PROGRAMS += \
394
  elpa1_test_complex_gpu_single_precision@SUFFIX@ \
395
  elpa2_test_complex_gpu_single_precision@SUFFIX@
396 397 398 399
endif

endif

Andreas Marek's avatar
Andreas Marek committed
400
build_lib = libelpatest@SUFFIX@.la libelpa@SUFFIX@.la
401 402 403 404 405

# 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 = \
406 407 408 409 410 411 412 413 414
	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
415

416
if HAVE_REDIRECT
417
libelpatest@SUFFIX@_la_SOURCES += \
418 419
	test/shared/redir.c \
	test/shared/redirect.F90
420 421
endif

422
elpa1_test_real_c_version@SUFFIX@_SOURCES = test/C/elpa1_test_real_c_version.c
423
elpa1_test_real_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
424
elpa1_test_real_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
425
EXTRA_elpa1_test_real_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
426

427
elpa1_test_real_with_c@SUFFIX@_SOURCES = test/Fortran/test_real_with_c.F90
428
elpa1_test_real_with_c@SUFFIX@_LDADD = $(build_lib)
429
elpa1_test_real_with_c@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
430
EXTRA_elpa1_test_real_with_c@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
431

432 433 434 435 436
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

437
elpa1_test_complex_c_version@SUFFIX@_SOURCES = test/C/elpa1_test_complex_c_version.c
438
elpa1_test_complex_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
439
elpa1_test_complex_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
440
EXTRA_elpa1_test_complex_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
441

442 443 444 445 446
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

447
elpa2_test_real_c_version@SUFFIX@_SOURCES = test/C/elpa2_test_real_c_version.c
448
elpa2_test_real_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
449
elpa2_test_real_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
450
EXTRA_elpa2_test_real_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
451

452
elpa2_test_complex_c_version@SUFFIX@_SOURCES = test/C/elpa2_test_complex_c_version.c
453
elpa2_test_complex_c_version@SUFFIX@_LDADD = $(build_lib) $(FCLIBS)
454
elpa2_test_complex_c_version@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
455
EXTRA_elpa2_test_complex_c_version@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
456

457
elpa1_test_real@SUFFIX@_SOURCES = test/Fortran/test_real.F90
458
elpa1_test_real@SUFFIX@_LDADD = $(build_lib)
459
elpa1_test_real@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
460
EXTRA_elpa1_test_real@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
461

462 463 464 465
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
466

467 468 469 470 471
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

472 473 474 475
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
476

477 478 479 480 481
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

482 483 484 485 486
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

487 488 489 490 491
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

492 493 494 495 496
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

497
elpa2_test_real@SUFFIX@_SOURCES = test/Fortran/test_real2.F90
498
elpa2_test_real@SUFFIX@_LDADD = $(build_lib)
499
elpa2_test_real@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
500
EXTRA_elpa2_test_real@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
501

502 503 504 505
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
506

507 508 509 510
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
511

512 513 514
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
515
EXTRA_elpa2_test_real_api@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
516

517
elpa1_test_complex@SUFFIX@_SOURCES = test/Fortran/test_complex.F90
518
elpa1_test_complex@SUFFIX@_LDADD = $(build_lib)
519
elpa1_test_complex@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
520
EXTRA_elpa1_test_complex@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
Andreas Marek's avatar
Andreas Marek committed
521

522
elpa2_test_complex@SUFFIX@_SOURCES = test/Fortran/test_complex2.F90
523
elpa2_test_complex@SUFFIX@_LDADD = $(build_lib)
524
elpa2_test_complex@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
525
EXTRA_elpa2_test_complex@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
526

527 528 529 530
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
531

532 533 534 535
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
536

537 538 539 540 541
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

542 543 544 545 546
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

547
elpa2_print_kernels@SUFFIX@_SOURCES = src/elpa2_print_kernels.F90
548
elpa2_print_kernels@SUFFIX@_LDADD = $(build_lib)
549
elpa2_print_kernels@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
Andreas Marek's avatar
Andreas Marek committed
550

551
if WANT_SINGLE_PRECISION_REAL
552
elpa1_test_real_single_precision@SUFFIX@_SOURCES = test/Fortran/test_real_single.F90
553
elpa1_test_real_single_precision@SUFFIX@_LDADD = $(build_lib)
554
elpa1_test_real_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
555
EXTRA_elpa1_test_real_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
556

557
elpa2_test_real_single_precision@SUFFIX@_SOURCES = test/Fortran/test_real2_single.F90
558 559
elpa2_test_real_single_precision@SUFFIX@_LDFLAGS = -static
elpa2_test_real_single_precision@SUFFIX@_LDADD = $(build_lib)
560
elpa2_test_real_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
561
EXTRA_elpa2_test_real_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
562

563 564 565 566 567
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

568
elpa1_real_toeplitz_single_precision@SUFFIX@_SOURCES = test/Fortran/test_toeplitz_single.F90
569 570 571 572
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

573 574 575 576 577
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

578 579 580 581 582
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

583 584 585 586 587
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

588 589 590 591 592
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

593
elpa2_test_real_default_single_precision@SUFFIX@_SOURCES = test/Fortran/test_real2_default_single.F90
594 595 596 597
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
598

599 600 601 602 603
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
604

605 606 607 608
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
609 610 611
endif

if WANT_SINGLE_PRECISION_COMPLEX
612
elpa1_test_complex_single_precision@SUFFIX@_SOURCES = test/Fortran/test_complex_single.F90
613
elpa1_test_complex_single_precision@SUFFIX@_LDADD = $(build_lib)
614
elpa1_test_complex_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
615
EXTRA_elpa1_test_complex_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
616

617 618 619 620 621
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

622 623 624 625 626
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

627
elpa2_test_complex_single_precision@SUFFIX@_SOURCES = test/Fortran/test_complex2_single.F90
628
elpa2_test_complex_single_precision@SUFFIX@_LDADD = $(build_lib)
629
elpa2_test_complex_single_precision@SUFFIX@_FCFLAGS = $(AM_FCFLAGS) @FC_MODOUT@private_modules @FC_MODINC@private_modules
630
EXTRA_elpa2_test_complex_single_precision@SUFFIX@_DEPENDENCIES = test/Fortran/elpa_print_headers.X90
631

632 633 634 635 636
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
637

638 639 640 641 642 643 644 645 646 647
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

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

648 649 650 651 652
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

653 654 655 656
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
657 658 659
endif

if WITH_GPU_VERSION
660 661 662 663 664 665 666 667 668 669
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

670 671 672 673
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
674

675 676 677 678
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
679 680

if WANT_SINGLE_PRECISION_REAL
681 682 683 684 685
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

686 687 688 689
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
690 691 692
endif

if WANT_SINGLE_PRECISION_COMPLEX
693 694 695 696 697
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

698 699 700 701
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
702 703 704
endif

endif
705
#  elpa2_test_real_default_kernel_qr_decomposition@SUFFIX@.sh
706

707
check_SCRIPTS = \
708 709
  elpa1_test_real@SUFFIX@.sh \
  elpa2_test_real@SUFFIX@.sh \
710
  elpa2_test_real_default@SUFFIX@.sh \
711 712
  elpa1_test_complex@SUFFIX@.sh \
  elpa2_test_complex@SUFFIX@.sh \
713 714 715 716
  elpa2_test_real_qr@SUFFIX@.sh \
  elpa2_test_complex_default@SUFFIX@.sh \
  elpa2_test_real_api@SUFFIX@.sh \
  elpa2_test_complex_api@SUFFIX@.sh \
717
  elpa_driver_real@SUFFIX@.sh \
718
  elpa_driver_complex@SUFFIX@.sh \
719
  elpa1_real_toeplitz@SUFFIX@.sh \
720
  elpa1_test_real_with_c@SUFFIX@.sh \
721
  elpa1_real_cholesky@SUFFIX@.sh \
722
  elpa1_real_invert_trm@SUFFIX@.sh \
723
  elpa1_real_transpose_multiply@SUFFIX@.sh \
724
  elpa1_complex_cholesky@SUFFIX@.sh \
725
  elpa1_complex_invert_trm@SUFFIX@.sh \
726
  elpa1_complex_transpose_multiply@SUFFIX@.sh \
727
  elpa2_print_kernels@SUFFIX@ \
728 729 730
  elpa1_test_real_c_version@SUFFIX@.sh \
  elpa1_test_complex_c_version@SUFFIX@.sh \
  elpa2_test_real_c_version@SUFFIX@.sh \
731
  elpa2_test_complex_c_version@SUFFIX@.sh \
732
  elpa_driver_real_c_version@SUFFIX@.sh \
733
  elpa_driver_complex_c_version@SUFFIX@.sh
Andreas Marek's avatar
Andreas Marek committed
734

735 736
if WANT_SINGLE_PRECISION_REAL
check_SCRIPTS += \
737 738
  elpa1_test_real_single_precision@SUFFIX@.sh \
  elpa2_test_real_single_precision@SUFFIX@.sh \
739 740
  elpa2_test_real_default_single_precision@SUFFIX@.sh \
  elpa2_test_real_qr_single_precision@SUFFIX@.sh \
741
  elpa_driver_real_single_precision@SUFFIX@.sh \
742
  elpa1_real_cholesky_single_precision@SUFFIX@.sh \
743
  elpa1_real_invert_trm_single_precision@SUFFIX@.sh \
744
  elpa1_real_transpose_multiply_single_precision@SUFFIX@.sh \
745 746
  elpa2_test_real_api_single_precision@SUFFIX@.sh \
  elpa_driver_real_c_version_single_precision@SUFFIX@.sh
747 748 749 750
endif

if WANT_SINGLE_PRECISION_COMPLEX
check_SCRIPTS += \
751 752
  elpa1_test_complex_single_precision@SUFFIX@.sh \
  elpa2_test_complex_single_precision@SUFFIX@.sh \
753
  elpa2_test_complex_default_single_precision@SUFFIX@.sh \
754
  elpa1_complex_cholesky_single_precision@SUFFIX@.sh \
755
  elpa_driver_complex_single_precision@SUFFIX@.sh \
756
  elpa1_complex_invert_trm_single_precision@SUFFIX@.sh \
757
  elpa1_complex_transpose_multiply_single_precision@SUFFIX@.sh \
758 759
  elpa2_test_complex_api_single_precision@SUFFIX@.sh \
  elpa_driver_complex_c_version_single_precision@SUFFIX@.sh
760
endif
761

762 763
if WITH_GPU_VERSION
check_SCRIPTS += \
764 765
  elpa1_test_real_gpu@SUFFIX@.sh \
  elpa1_test_complex_gpu@SUFFIX@.sh \
Andreas Marek's avatar
Andreas Marek committed
766 767
  elpa2_test_real_gpu@SUFFIX@.sh \
  elpa2_test_complex_gpu@SUFFIX@.sh
768 769
if WANT_SINGLE_PRECISION_REAL
check_SCRIPTS += \
770
  elpa1_test_real_gpu_single_precision@SUFFIX@.sh \
Andreas Marek's avatar
Andreas Marek committed
771
  elpa2_test_real_gpu_single_precision@SUFFIX@.sh
772 773 774
endif
if WANT_SINGLE_PRECISION_COMPLEX
check_SCRIPTS += \
775
  elpa1_test_complex_gpu_single_precision@SUFFIX@.sh \
Andreas Marek's avatar
Andreas Marek committed
776
  elpa2_test_complex_gpu_single_precision@SUFFIX@.sh
777 778 779 780
endif

endif

781
# test scripts
782
MPIEXEC ?= $(MPI_BINARY) -n 2
783
if WITH_MPI
784
  wrapper=$(MPIEXEC)
785
else
786
  wrapper=
787
endif
788 789
TESTS = $(check_SCRIPTS)
%.sh: %
790 791
	@echo $(wrapper) ./$^ '$$TEST_FLAGS' > $@
	@chmod +x $@
792

793
# Preprocessed files (just used for manual inspection)
794 795
mod_precision.i: $(top_srcdir)/src/mod_precision.F90
	$(CPP) $(CPPFLAGS) -I$(top_builddir)/ -I$(top_srcdir)/ -c $(top_srcdir)/src/mod_precision.F90 -o $@
Andreas Marek's avatar
Andreas Marek committed
796

797 798 799
elpa1_utilities.i: $(top_srcdir)/src/elpa1_utilities.F90
	$(CPP) $(CPPFLAGS) -I$(top_builddir)/ -I$(top_srcdir)/ -c $(top_srcdir)/src/elpa1_utilities.F90 -o $@

Andreas Marek's avatar