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