diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/fftw-3.3.5/Makefile.am	Tue Oct 18 13:40:26 2016 +0100
@@ -0,0 +1,156 @@
+OPTIONS_AUTOMAKE=gnu
+lib_LTLIBRARIES = libfftw3@PREC_SUFFIX@.la
+
+# pkgincludedir = $(includedir)/fftw3@PREC_SUFFIX@
+# nodist_pkginclude_HEADERS = config.h
+
+# recompile genfft if maintainer mode is true
+if MAINTAINER_MODE
+GENFFT = genfft
+else
+GENFFT =
+endif
+
+ACLOCAL_AMFLAGS=-I m4
+
+# when using combined thread libraries (necessary on Windows), we want
+# to build threads/ first, because libfftw3_threads is added to
+# libfftw3.
+#
+# Otherwise, we want to build libfftw3_threads after libfftw3
+# so that we can track the fact that libfftw3_threads depends upon
+# libfftw3.
+#
+# This is the inescapable result of combining three bad ideas
+# (threads, Windows, and shared libraries).
+#
+if COMBINED_THREADS
+CHICKEN_EGG=threads .
+else
+CHICKEN_EGG=. threads
+endif
+
+# Only build in doc/ if not disabled by user (i.e. not all
+# tools are available, such as fig2dev in maintainer mode)
+if BUILD_DOC
+DOCDIR=doc
+else
+DOCDIR=
+endif
+
+SUBDIRS=support $(GENFFT) kernel simd-support dft rdft reodft api	\
+libbench2 $(CHICKEN_EGG) tests mpi $(DOCDIR) tools m4
+EXTRA_DIST=COPYRIGHT bootstrap.sh CONVENTIONS fftw.pc.in
+
+SIMD_LIBS =						\
+	simd-support/libsimd_support.la			\
+	simd-support/libsimd_sse2_nonportable.la
+
+if HAVE_SSE2
+SSE2_LIBS = dft/simd/sse2/libdft_sse2_codelets.la	\
+rdft/simd/sse2/librdft_sse2_codelets.la
+endif
+
+if HAVE_AVX
+AVX_LIBS = dft/simd/avx/libdft_avx_codelets.la	\
+rdft/simd/avx/librdft_avx_codelets.la
+endif
+
+if HAVE_AVX_128_FMA
+AVX_128_FMA_LIBS = dft/simd/avx-128-fma/libdft_avx_128_fma_codelets.la \
+rdft/simd/avx-128-fma/librdft_avx_128_fma_codelets.la
+endif
+
+if HAVE_AVX2
+AVX2_LIBS = dft/simd/avx2/libdft_avx2_codelets.la	\
+dft/simd/avx2-128/libdft_avx2_128_codelets.la \
+rdft/simd/avx2/librdft_avx2_codelets.la \
+rdft/simd/avx2-128/librdft_avx2_128_codelets.la
+endif
+
+if HAVE_AVX512
+AVX512_LIBS = dft/simd/avx512/libdft_avx512_codelets.la	\
+rdft/simd/avx512/librdft_avx512_codelets.la
+endif
+
+if HAVE_KCVI
+KCVI_LIBS = dft/simd/kcvi/libdft_kcvi_codelets.la	\
+rdft/simd/kcvi/librdft_kcvi_codelets.la
+endif
+
+if HAVE_ALTIVEC
+ALTIVEC_LIBS = dft/simd/altivec/libdft_altivec_codelets.la	\
+rdft/simd/altivec/librdft_altivec_codelets.la
+endif
+
+if HAVE_VSX
+VSX_LIBS = dft/simd/vsx/libdft_vsx_codelets.la      \
+rdft/simd/vsx/librdft_vsx_codelets.la
+endif
+
+if HAVE_NEON
+NEON_LIBS = dft/simd/neon/libdft_neon_codelets.la	\
+rdft/simd/neon/librdft_neon_codelets.la
+endif
+
+if HAVE_GENERIC_SIMD128
+GENERIC_SIMD128_LIBS = dft/simd/generic-simd128/libdft_generic_simd128_codelets.la \
+rdft/simd/generic-simd128/librdft_generic_simd128_codelets.la
+endif
+
+if HAVE_GENERIC_SIMD256
+GENERIC_SIMD256_LIBS = dft/simd/generic-simd256/libdft_generic_simd256_codelets.la      \
+rdft/simd/generic-simd256/librdft_generic_simd256_codelets.la
+endif
+
+if THREADS
+if COMBINED_THREADS
+COMBINED_THREADLIBS=threads/libfftw3@PREC_SUFFIX@_threads.la
+endif
+endif
+
+libfftw3@PREC_SUFFIX@_la_SOURCES = 
+
+libfftw3@PREC_SUFFIX@_la_LIBADD =			\
+	kernel/libkernel.la				\
+	dft/libdft.la					\
+	dft/scalar/libdft_scalar.la			\
+	dft/scalar/codelets/libdft_scalar_codelets.la	\
+	rdft/librdft.la					\
+	rdft/scalar/librdft_scalar.la			\
+	rdft/scalar/r2cf/librdft_scalar_r2cf.la		\
+	rdft/scalar/r2cb/librdft_scalar_r2cb.la		\
+	rdft/scalar/r2r/librdft_scalar_r2r.la		\
+	reodft/libreodft.la				\
+	api/libapi.la					\
+        $(SIMD_LIBS) $(SSE2_LIBS) $(AVX_LIBS) $(AVX_128_FMA_LIBS) \
+        $(AVX2_LIBS) $(ALTIVEC_LIBS) \
+        $(VSX_LIBS) $(NEON_LIBS) $(KCVI_LIBS) $(AVX512_LIBS) \
+        $(GENERIC_SIMD128_LIBS) $(GENERIC_SIMD256_LIBS) \
+	$(COMBINED_THREADLIBS)
+
+if QUAD
+# cannot use -no-undefined since dependent on libquadmath
+libfftw3@PREC_SUFFIX@_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@ $(ENVIRONMENT_LIBFFTW3_LDFLAGS)
+else
+libfftw3@PREC_SUFFIX@_la_LDFLAGS = -no-undefined -version-info	\
+@SHARED_VERSION_INFO@  $(ENVIRONMENT_LIBFFTW3_LDFLAGS)
+endif
+
+fftw3@PREC_SUFFIX@.pc: fftw.pc
+	cp -f fftw.pc fftw3@PREC_SUFFIX@.pc
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = fftw3@PREC_SUFFIX@.pc
+
+WISDOM_DIR = /etc/fftw
+WISDOM = wisdom@PREC_SUFFIX@
+
+WISDOM_TIME=12 # default to 12-hour limit, i.e. overnight
+WISDOM_FLAGS=--verbose --canonical --time-limit=$(WISDOM_TIME)
+
+wisdom:
+	tools/fftw@PREC_SUFFIX@-wisdom -o $@ $(WISDOM_FLAGS)
+
+install-wisdom: wisdom
+	$(mkinstalldirs) $(WISDOM_DIR)
+	$(INSTALL_DATA) wisdom $(WISDOM_DIR)/$(WISDOM)