cannam@95
|
1 OPTIONS_AUTOMAKE=gnu
|
cannam@95
|
2 lib_LTLIBRARIES = libfftw3@PREC_SUFFIX@.la
|
cannam@95
|
3
|
cannam@95
|
4 # pkgincludedir = $(includedir)/fftw3@PREC_SUFFIX@
|
cannam@95
|
5 # nodist_pkginclude_HEADERS = config.h
|
cannam@95
|
6
|
cannam@95
|
7 # recompile genfft if maintainer mode is true
|
cannam@95
|
8 if MAINTAINER_MODE
|
cannam@95
|
9 GENFFT = genfft
|
cannam@95
|
10 else
|
cannam@95
|
11 GENFFT =
|
cannam@95
|
12 endif
|
cannam@95
|
13
|
cannam@95
|
14 ACLOCAL_AMFLAGS=-I m4
|
cannam@95
|
15
|
cannam@95
|
16 # when using combined thread libraries (necessary on Windows), we want
|
cannam@95
|
17 # to build threads/ first, because libfftw3_threads is added to
|
cannam@95
|
18 # libfftw3.
|
cannam@95
|
19 #
|
cannam@95
|
20 # Otherwise, we want to build libfftw3_threads after libfftw3
|
cannam@95
|
21 # so that we can track the fact that libfftw3_threads depends upon
|
cannam@95
|
22 # libfftw3.
|
cannam@95
|
23 #
|
cannam@95
|
24 # This is the inescapable result of combining three bad ideas
|
cannam@95
|
25 # (threads, Windows, and shared libraries).
|
cannam@95
|
26 #
|
cannam@95
|
27 if COMBINED_THREADS
|
cannam@95
|
28 CHICKEN_EGG=threads .
|
cannam@95
|
29 else
|
cannam@95
|
30 CHICKEN_EGG=. threads
|
cannam@95
|
31 endif
|
cannam@95
|
32
|
cannam@95
|
33 SUBDIRS=support $(GENFFT) kernel simd-support dft rdft reodft api \
|
cannam@95
|
34 libbench2 $(CHICKEN_EGG) tests mpi doc tools m4
|
cannam@95
|
35 EXTRA_DIST=COPYRIGHT bootstrap.sh CONVENTIONS fftw.pc.in
|
cannam@95
|
36
|
cannam@95
|
37 SIMD_LIBS = \
|
cannam@95
|
38 simd-support/libsimd_support.la \
|
cannam@95
|
39 simd-support/libsimd_sse2_nonportable.la
|
cannam@95
|
40
|
cannam@95
|
41 if HAVE_SSE2
|
cannam@95
|
42 SSE2_LIBS = dft/simd/sse2/libdft_sse2_codelets.la \
|
cannam@95
|
43 rdft/simd/sse2/librdft_sse2_codelets.la
|
cannam@95
|
44 endif
|
cannam@95
|
45
|
cannam@95
|
46 if HAVE_AVX
|
cannam@95
|
47 AVX_LIBS = dft/simd/avx/libdft_avx_codelets.la \
|
cannam@95
|
48 rdft/simd/avx/librdft_avx_codelets.la
|
cannam@95
|
49 endif
|
cannam@95
|
50
|
cannam@95
|
51 if HAVE_ALTIVEC
|
cannam@95
|
52 ALTIVEC_LIBS = dft/simd/altivec/libdft_altivec_codelets.la \
|
cannam@95
|
53 rdft/simd/altivec/librdft_altivec_codelets.la
|
cannam@95
|
54 endif
|
cannam@95
|
55
|
cannam@95
|
56 if HAVE_NEON
|
cannam@95
|
57 NEON_LIBS = dft/simd/neon/libdft_neon_codelets.la \
|
cannam@95
|
58 rdft/simd/neon/librdft_neon_codelets.la
|
cannam@95
|
59 endif
|
cannam@95
|
60
|
cannam@95
|
61 if THREADS
|
cannam@95
|
62 if COMBINED_THREADS
|
cannam@95
|
63 COMBINED_THREADLIBS=threads/libfftw3@PREC_SUFFIX@_threads.la
|
cannam@95
|
64 endif
|
cannam@95
|
65 endif
|
cannam@95
|
66
|
cannam@95
|
67 libfftw3@PREC_SUFFIX@_la_SOURCES =
|
cannam@95
|
68
|
cannam@95
|
69 libfftw3@PREC_SUFFIX@_la_LIBADD = \
|
cannam@95
|
70 kernel/libkernel.la \
|
cannam@95
|
71 dft/libdft.la \
|
cannam@95
|
72 dft/scalar/libdft_scalar.la \
|
cannam@95
|
73 dft/scalar/codelets/libdft_scalar_codelets.la \
|
cannam@95
|
74 rdft/librdft.la \
|
cannam@95
|
75 rdft/scalar/librdft_scalar.la \
|
cannam@95
|
76 rdft/scalar/r2cf/librdft_scalar_r2cf.la \
|
cannam@95
|
77 rdft/scalar/r2cb/librdft_scalar_r2cb.la \
|
cannam@95
|
78 rdft/scalar/r2r/librdft_scalar_r2r.la \
|
cannam@95
|
79 reodft/libreodft.la \
|
cannam@95
|
80 api/libapi.la \
|
cannam@95
|
81 $(SIMD_LIBS) $(SSE2_LIBS) $(AVX_LIBS) $(ALTIVEC_LIBS) $(NEON_LIBS) \
|
cannam@95
|
82 $(COMBINED_THREADLIBS)
|
cannam@95
|
83
|
cannam@95
|
84 if QUAD
|
cannam@95
|
85 # cannot use -no-undefined since dependent on libquadmath
|
cannam@95
|
86 libfftw3@PREC_SUFFIX@_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
|
cannam@95
|
87 else
|
cannam@95
|
88 libfftw3@PREC_SUFFIX@_la_LDFLAGS = -no-undefined -version-info \
|
cannam@95
|
89 @SHARED_VERSION_INFO@
|
cannam@95
|
90 endif
|
cannam@95
|
91
|
cannam@95
|
92 fftw3@PREC_SUFFIX@.pc: fftw.pc
|
cannam@95
|
93 cp -f fftw.pc fftw3@PREC_SUFFIX@.pc
|
cannam@95
|
94 pkgconfigdir = $(libdir)/pkgconfig
|
cannam@95
|
95 pkgconfig_DATA = fftw3@PREC_SUFFIX@.pc
|
cannam@95
|
96
|
cannam@95
|
97 WISDOM_DIR = /etc/fftw
|
cannam@95
|
98 WISDOM = wisdom@PREC_SUFFIX@
|
cannam@95
|
99
|
cannam@95
|
100 WISDOM_TIME=12 # default to 12-hour limit, i.e. overnight
|
cannam@95
|
101 WISDOM_FLAGS=--verbose --canonical --time-limit=$(WISDOM_TIME)
|
cannam@95
|
102
|
cannam@95
|
103 wisdom:
|
cannam@95
|
104 tools/fftw@PREC_SUFFIX@-wisdom -o $@ $(WISDOM_FLAGS)
|
cannam@95
|
105
|
cannam@95
|
106 install-wisdom: wisdom
|
cannam@95
|
107 $(mkinstalldirs) $(WISDOM_DIR)
|
cannam@95
|
108 $(INSTALL_DATA) wisdom $(WISDOM_DIR)/$(WISDOM)
|