annotate src/fftw-3.3.8/Makefile.am @ 169:223a55898ab9 tip default

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