Mercurial > hg > sv-dependency-builds
comparison src/fftw-3.3.8/Makefile.am @ 82:d0c2a83c1364
Add FFTW 3.3.8 source, and a Linux build
author | Chris Cannam |
---|---|
date | Tue, 19 Nov 2019 14:52:55 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
81:7029a4916348 | 82:d0c2a83c1364 |
---|---|
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 EXTRA_libfftw3@PREC_SUFFIX@_la_DEPENDENCIES = assert-shared-version-info | |
11 else | |
12 GENFFT = | |
13 endif | |
14 | |
15 ACLOCAL_AMFLAGS=-I m4 | |
16 | |
17 # when using combined thread libraries (necessary on Windows), we want | |
18 # to build threads/ first, because libfftw3_threads is added to | |
19 # libfftw3. | |
20 # | |
21 # Otherwise, we want to build libfftw3_threads after libfftw3 | |
22 # so that we can track the fact that libfftw3_threads depends upon | |
23 # libfftw3. | |
24 # | |
25 # This is the inescapable result of combining three bad ideas | |
26 # (threads, Windows, and shared libraries). | |
27 # | |
28 if COMBINED_THREADS | |
29 CHICKEN_EGG=threads . | |
30 else | |
31 CHICKEN_EGG=. threads | |
32 endif | |
33 | |
34 # Only build in doc/ if not disabled by user (i.e. not all | |
35 # tools are available, such as fig2dev in maintainer mode) | |
36 if BUILD_DOC | |
37 DOCDIR=doc | |
38 else | |
39 DOCDIR= | |
40 endif | |
41 | |
42 SUBDIRS=support $(GENFFT) kernel simd-support dft rdft reodft api \ | |
43 libbench2 $(CHICKEN_EGG) tests mpi $(DOCDIR) tools m4 | |
44 EXTRA_DIST=COPYRIGHT bootstrap.sh CONVENTIONS fftw.pc.in \ | |
45 CMakeLists.txt cmake.config.h.in FFTW3Config.cmake.in \ | |
46 FFTW3ConfigVersion.cmake.in README-perfcnt.md | |
47 | |
48 SIMD_LIBS = simd-support/libsimd_support.la | |
49 | |
50 if HAVE_SSE2 | |
51 SSE2_LIBS = dft/simd/sse2/libdft_sse2_codelets.la \ | |
52 rdft/simd/sse2/librdft_sse2_codelets.la | |
53 endif | |
54 | |
55 if HAVE_AVX | |
56 AVX_LIBS = dft/simd/avx/libdft_avx_codelets.la \ | |
57 rdft/simd/avx/librdft_avx_codelets.la | |
58 endif | |
59 | |
60 if HAVE_AVX_128_FMA | |
61 AVX_128_FMA_LIBS = dft/simd/avx-128-fma/libdft_avx_128_fma_codelets.la \ | |
62 rdft/simd/avx-128-fma/librdft_avx_128_fma_codelets.la | |
63 endif | |
64 | |
65 if HAVE_AVX2 | |
66 AVX2_LIBS = dft/simd/avx2/libdft_avx2_codelets.la \ | |
67 dft/simd/avx2-128/libdft_avx2_128_codelets.la \ | |
68 rdft/simd/avx2/librdft_avx2_codelets.la \ | |
69 rdft/simd/avx2-128/librdft_avx2_128_codelets.la | |
70 endif | |
71 | |
72 if HAVE_AVX512 | |
73 AVX512_LIBS = dft/simd/avx512/libdft_avx512_codelets.la \ | |
74 rdft/simd/avx512/librdft_avx512_codelets.la | |
75 endif | |
76 | |
77 if HAVE_KCVI | |
78 KCVI_LIBS = dft/simd/kcvi/libdft_kcvi_codelets.la \ | |
79 rdft/simd/kcvi/librdft_kcvi_codelets.la | |
80 endif | |
81 | |
82 if HAVE_ALTIVEC | |
83 ALTIVEC_LIBS = dft/simd/altivec/libdft_altivec_codelets.la \ | |
84 rdft/simd/altivec/librdft_altivec_codelets.la | |
85 endif | |
86 | |
87 if HAVE_VSX | |
88 VSX_LIBS = dft/simd/vsx/libdft_vsx_codelets.la \ | |
89 rdft/simd/vsx/librdft_vsx_codelets.la | |
90 endif | |
91 | |
92 if HAVE_NEON | |
93 NEON_LIBS = dft/simd/neon/libdft_neon_codelets.la \ | |
94 rdft/simd/neon/librdft_neon_codelets.la | |
95 endif | |
96 | |
97 if HAVE_GENERIC_SIMD128 | |
98 GENERIC_SIMD128_LIBS = dft/simd/generic-simd128/libdft_generic_simd128_codelets.la \ | |
99 rdft/simd/generic-simd128/librdft_generic_simd128_codelets.la | |
100 endif | |
101 | |
102 if HAVE_GENERIC_SIMD256 | |
103 GENERIC_SIMD256_LIBS = dft/simd/generic-simd256/libdft_generic_simd256_codelets.la \ | |
104 rdft/simd/generic-simd256/librdft_generic_simd256_codelets.la | |
105 endif | |
106 | |
107 if THREADS | |
108 if COMBINED_THREADS | |
109 COMBINED_THREADLIBS=threads/libfftw3@PREC_SUFFIX@_threads.la | |
110 endif | |
111 endif | |
112 | |
113 libfftw3@PREC_SUFFIX@_la_SOURCES = | |
114 | |
115 libfftw3@PREC_SUFFIX@_la_LIBADD = \ | |
116 kernel/libkernel.la \ | |
117 dft/libdft.la \ | |
118 dft/scalar/libdft_scalar.la \ | |
119 dft/scalar/codelets/libdft_scalar_codelets.la \ | |
120 rdft/librdft.la \ | |
121 rdft/scalar/librdft_scalar.la \ | |
122 rdft/scalar/r2cf/librdft_scalar_r2cf.la \ | |
123 rdft/scalar/r2cb/librdft_scalar_r2cb.la \ | |
124 rdft/scalar/r2r/librdft_scalar_r2r.la \ | |
125 reodft/libreodft.la \ | |
126 api/libapi.la \ | |
127 $(SIMD_LIBS) $(SSE2_LIBS) $(AVX_LIBS) $(AVX_128_FMA_LIBS) \ | |
128 $(AVX2_LIBS) $(ALTIVEC_LIBS) \ | |
129 $(VSX_LIBS) $(NEON_LIBS) $(KCVI_LIBS) $(AVX512_LIBS) \ | |
130 $(GENERIC_SIMD128_LIBS) $(GENERIC_SIMD256_LIBS) \ | |
131 $(COMBINED_THREADLIBS) | |
132 | |
133 if QUAD | |
134 # cannot use -no-undefined since dependent on libquadmath | |
135 libfftw3@PREC_SUFFIX@_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@ $(ENVIRONMENT_LIBFFTW3_LDFLAGS) | |
136 else | |
137 libfftw3@PREC_SUFFIX@_la_LDFLAGS = -no-undefined -version-info \ | |
138 @SHARED_VERSION_INFO@ $(ENVIRONMENT_LIBFFTW3_LDFLAGS) | |
139 endif | |
140 | |
141 fftw3@PREC_SUFFIX@.pc: fftw.pc | |
142 cp -f fftw.pc fftw3@PREC_SUFFIX@.pc | |
143 pkgconfigdir = $(libdir)/pkgconfig | |
144 pkgconfig_DATA = fftw3@PREC_SUFFIX@.pc | |
145 | |
146 FFTW3@PREC_SUFFIX@Config.cmake: $(top_srcdir)/FFTW3Config.cmake.in | |
147 $(SED) \ | |
148 -e 's|[@]PREC_SUFFIX@|@PREC_SUFFIX@|g' \ | |
149 -e 's|[@]CMAKE_INSTALL_FULL_LIBDIR@|$(libdir)|g' \ | |
150 -e 's|[@]CMAKE_INSTALL_FULL_INCLUDEDIR@|$(includedir)|g' \ | |
151 $(top_srcdir)/FFTW3Config.cmake.in > $@ | |
152 FFTW3@PREC_SUFFIX@ConfigVersion.cmake: $(top_srcdir)/FFTW3ConfigVersion.cmake.in | |
153 $(SED) \ | |
154 -e 's|[@]FFTW_VERSION@|@PACKAGE_VERSION@|g' \ | |
155 $(top_srcdir)/FFTW3ConfigVersion.cmake.in > $@ | |
156 cmakedir = $(libdir)/cmake/fftw3 | |
157 cmake_DATA = FFTW3@PREC_SUFFIX@Config.cmake FFTW3@PREC_SUFFIX@ConfigVersion.cmake | |
158 | |
159 WISDOM_DIR = /etc/fftw | |
160 WISDOM = wisdom@PREC_SUFFIX@ | |
161 | |
162 WISDOM_TIME=12 # default to 12-hour limit, i.e. overnight | |
163 WISDOM_FLAGS=--verbose --canonical --time-limit=$(WISDOM_TIME) | |
164 | |
165 wisdom: | |
166 tools/fftw@PREC_SUFFIX@-wisdom -o $@ $(WISDOM_FLAGS) | |
167 | |
168 install-wisdom: wisdom | |
169 $(mkinstalldirs) $(WISDOM_DIR) | |
170 $(INSTALL_DATA) wisdom $(WISDOM_DIR)/$(WISDOM) | |
171 | |
172 if MAINTAINER_MODE | |
173 assert-shared-version-info: | |
174 current=`echo @SHARED_VERSION_INFO@ | cut -d: -f1`; \ | |
175 age=`echo @SHARED_VERSION_INFO@ | cut -d: -f3`; \ | |
176 major=3; \ | |
177 expected=`expr $$age + $$major`; \ | |
178 test $$current -eq $$expected | |
179 endif |