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