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