comparison src/fftw-3.3.3/Makefile.am @ 10:37bf6b4a2645

Add FFTW3
author Chris Cannam
date Wed, 20 Mar 2013 15:35:50 +0000
parents
children
comparison
equal deleted inserted replaced
9:c0fb53affa76 10:37bf6b4a2645
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 SUBDIRS=support $(GENFFT) kernel simd-support dft rdft reodft api \
34 libbench2 $(CHICKEN_EGG) tests mpi doc tools m4
35 EXTRA_DIST=COPYRIGHT bootstrap.sh CONVENTIONS fftw.pc.in
36
37 SIMD_LIBS = \
38 simd-support/libsimd_support.la \
39 simd-support/libsimd_sse2_nonportable.la
40
41 if HAVE_SSE2
42 SSE2_LIBS = dft/simd/sse2/libdft_sse2_codelets.la \
43 rdft/simd/sse2/librdft_sse2_codelets.la
44 endif
45
46 if HAVE_AVX
47 AVX_LIBS = dft/simd/avx/libdft_avx_codelets.la \
48 rdft/simd/avx/librdft_avx_codelets.la
49 endif
50
51 if HAVE_ALTIVEC
52 ALTIVEC_LIBS = dft/simd/altivec/libdft_altivec_codelets.la \
53 rdft/simd/altivec/librdft_altivec_codelets.la
54 endif
55
56 if HAVE_NEON
57 NEON_LIBS = dft/simd/neon/libdft_neon_codelets.la \
58 rdft/simd/neon/librdft_neon_codelets.la
59 endif
60
61 if THREADS
62 if COMBINED_THREADS
63 COMBINED_THREADLIBS=threads/libfftw3@PREC_SUFFIX@_threads.la
64 endif
65 endif
66
67 libfftw3@PREC_SUFFIX@_la_SOURCES =
68
69 libfftw3@PREC_SUFFIX@_la_LIBADD = \
70 kernel/libkernel.la \
71 dft/libdft.la \
72 dft/scalar/libdft_scalar.la \
73 dft/scalar/codelets/libdft_scalar_codelets.la \
74 rdft/librdft.la \
75 rdft/scalar/librdft_scalar.la \
76 rdft/scalar/r2cf/librdft_scalar_r2cf.la \
77 rdft/scalar/r2cb/librdft_scalar_r2cb.la \
78 rdft/scalar/r2r/librdft_scalar_r2r.la \
79 reodft/libreodft.la \
80 api/libapi.la \
81 $(SIMD_LIBS) $(SSE2_LIBS) $(AVX_LIBS) $(ALTIVEC_LIBS) $(NEON_LIBS) \
82 $(COMBINED_THREADLIBS)
83
84 if QUAD
85 # cannot use -no-undefined since dependent on libquadmath
86 libfftw3@PREC_SUFFIX@_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
87 else
88 libfftw3@PREC_SUFFIX@_la_LDFLAGS = -no-undefined -version-info \
89 @SHARED_VERSION_INFO@
90 endif
91
92 fftw3@PREC_SUFFIX@.pc: fftw.pc
93 cp -f fftw.pc fftw3@PREC_SUFFIX@.pc
94 pkgconfigdir = $(libdir)/pkgconfig
95 pkgconfig_DATA = fftw3@PREC_SUFFIX@.pc
96
97 WISDOM_DIR = /etc/fftw
98 WISDOM = wisdom@PREC_SUFFIX@
99
100 WISDOM_TIME=12 # default to 12-hour limit, i.e. overnight
101 WISDOM_FLAGS=--verbose --canonical --time-limit=$(WISDOM_TIME)
102
103 wisdom:
104 tools/fftw@PREC_SUFFIX@-wisdom -o $@ $(WISDOM_FLAGS)
105
106 install-wisdom: wisdom
107 $(mkinstalldirs) $(WISDOM_DIR)
108 $(INSTALL_DATA) wisdom $(WISDOM_DIR)/$(WISDOM)