comparison src/fftw-3.3.5/Makefile.am @ 42:2cd0e3b3e1fd

Current fftw source
author Chris Cannam
date Tue, 18 Oct 2016 13:40:26 +0100
parents
children
comparison
equal deleted inserted replaced
41:481f5f8c5634 42:2cd0e3b3e1fd
1 OPTIONS_AUTOMAKE=gnu
2 lib_LTLIBRARIES = libfftw3@PREC_SUFFIX@.la
3
4 # pkgincludedir = $(includedir)/fftw3@PREC_SUFFIX@
5 # nodist_pkginclude_HEADERS = config.h
6
7 # recompile genfft if maintainer mode is true
8 if MAINTAINER_MODE
9 GENFFT = genfft
10 else
11 GENFFT =
12 endif
13
14 ACLOCAL_AMFLAGS=-I m4
15
16 # when using combined thread libraries (necessary on Windows), we want
17 # to build threads/ first, because libfftw3_threads is added to
18 # libfftw3.
19 #
20 # Otherwise, we want to build libfftw3_threads after libfftw3
21 # so that we can track the fact that libfftw3_threads depends upon
22 # libfftw3.
23 #
24 # This is the inescapable result of combining three bad ideas
25 # (threads, Windows, and shared libraries).
26 #
27 if COMBINED_THREADS
28 CHICKEN_EGG=threads .
29 else
30 CHICKEN_EGG=. threads
31 endif
32
33 # Only build in doc/ if not disabled by user (i.e. not all
34 # tools are available, such as fig2dev in maintainer mode)
35 if BUILD_DOC
36 DOCDIR=doc
37 else
38 DOCDIR=
39 endif
40
41 SUBDIRS=support $(GENFFT) kernel simd-support dft rdft reodft api \
42 libbench2 $(CHICKEN_EGG) tests mpi $(DOCDIR) tools m4
43 EXTRA_DIST=COPYRIGHT bootstrap.sh CONVENTIONS fftw.pc.in
44
45 SIMD_LIBS = \
46 simd-support/libsimd_support.la \
47 simd-support/libsimd_sse2_nonportable.la
48
49 if HAVE_SSE2
50 SSE2_LIBS = dft/simd/sse2/libdft_sse2_codelets.la \
51 rdft/simd/sse2/librdft_sse2_codelets.la
52 endif
53
54 if HAVE_AVX
55 AVX_LIBS = dft/simd/avx/libdft_avx_codelets.la \
56 rdft/simd/avx/librdft_avx_codelets.la
57 endif
58
59 if HAVE_AVX_128_FMA
60 AVX_128_FMA_LIBS = dft/simd/avx-128-fma/libdft_avx_128_fma_codelets.la \
61 rdft/simd/avx-128-fma/librdft_avx_128_fma_codelets.la
62 endif
63
64 if HAVE_AVX2
65 AVX2_LIBS = dft/simd/avx2/libdft_avx2_codelets.la \
66 dft/simd/avx2-128/libdft_avx2_128_codelets.la \
67 rdft/simd/avx2/librdft_avx2_codelets.la \
68 rdft/simd/avx2-128/librdft_avx2_128_codelets.la
69 endif
70
71 if HAVE_AVX512
72 AVX512_LIBS = dft/simd/avx512/libdft_avx512_codelets.la \
73 rdft/simd/avx512/librdft_avx512_codelets.la
74 endif
75
76 if HAVE_KCVI
77 KCVI_LIBS = dft/simd/kcvi/libdft_kcvi_codelets.la \
78 rdft/simd/kcvi/librdft_kcvi_codelets.la
79 endif
80
81 if HAVE_ALTIVEC
82 ALTIVEC_LIBS = dft/simd/altivec/libdft_altivec_codelets.la \
83 rdft/simd/altivec/librdft_altivec_codelets.la
84 endif
85
86 if HAVE_VSX
87 VSX_LIBS = dft/simd/vsx/libdft_vsx_codelets.la \
88 rdft/simd/vsx/librdft_vsx_codelets.la
89 endif
90
91 if HAVE_NEON
92 NEON_LIBS = dft/simd/neon/libdft_neon_codelets.la \
93 rdft/simd/neon/librdft_neon_codelets.la
94 endif
95
96 if HAVE_GENERIC_SIMD128
97 GENERIC_SIMD128_LIBS = dft/simd/generic-simd128/libdft_generic_simd128_codelets.la \
98 rdft/simd/generic-simd128/librdft_generic_simd128_codelets.la
99 endif
100
101 if HAVE_GENERIC_SIMD256
102 GENERIC_SIMD256_LIBS = dft/simd/generic-simd256/libdft_generic_simd256_codelets.la \
103 rdft/simd/generic-simd256/librdft_generic_simd256_codelets.la
104 endif
105
106 if THREADS
107 if COMBINED_THREADS
108 COMBINED_THREADLIBS=threads/libfftw3@PREC_SUFFIX@_threads.la
109 endif
110 endif
111
112 libfftw3@PREC_SUFFIX@_la_SOURCES =
113
114 libfftw3@PREC_SUFFIX@_la_LIBADD = \
115 kernel/libkernel.la \
116 dft/libdft.la \
117 dft/scalar/libdft_scalar.la \
118 dft/scalar/codelets/libdft_scalar_codelets.la \
119 rdft/librdft.la \
120 rdft/scalar/librdft_scalar.la \
121 rdft/scalar/r2cf/librdft_scalar_r2cf.la \
122 rdft/scalar/r2cb/librdft_scalar_r2cb.la \
123 rdft/scalar/r2r/librdft_scalar_r2r.la \
124 reodft/libreodft.la \
125 api/libapi.la \
126 $(SIMD_LIBS) $(SSE2_LIBS) $(AVX_LIBS) $(AVX_128_FMA_LIBS) \
127 $(AVX2_LIBS) $(ALTIVEC_LIBS) \
128 $(VSX_LIBS) $(NEON_LIBS) $(KCVI_LIBS) $(AVX512_LIBS) \
129 $(GENERIC_SIMD128_LIBS) $(GENERIC_SIMD256_LIBS) \
130 $(COMBINED_THREADLIBS)
131
132 if QUAD
133 # cannot use -no-undefined since dependent on libquadmath
134 libfftw3@PREC_SUFFIX@_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@ $(ENVIRONMENT_LIBFFTW3_LDFLAGS)
135 else
136 libfftw3@PREC_SUFFIX@_la_LDFLAGS = -no-undefined -version-info \
137 @SHARED_VERSION_INFO@ $(ENVIRONMENT_LIBFFTW3_LDFLAGS)
138 endif
139
140 fftw3@PREC_SUFFIX@.pc: fftw.pc
141 cp -f fftw.pc fftw3@PREC_SUFFIX@.pc
142 pkgconfigdir = $(libdir)/pkgconfig
143 pkgconfig_DATA = fftw3@PREC_SUFFIX@.pc
144
145 WISDOM_DIR = /etc/fftw
146 WISDOM = wisdom@PREC_SUFFIX@
147
148 WISDOM_TIME=12 # default to 12-hour limit, i.e. overnight
149 WISDOM_FLAGS=--verbose --canonical --time-limit=$(WISDOM_TIME)
150
151 wisdom:
152 tools/fftw@PREC_SUFFIX@-wisdom -o $@ $(WISDOM_FLAGS)
153
154 install-wisdom: wisdom
155 $(mkinstalldirs) $(WISDOM_DIR)
156 $(INSTALL_DATA) wisdom $(WISDOM_DIR)/$(WISDOM)