annotate src/fftw-3.3.5/Makefile.am @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 2cd0e3b3e1fd
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)