diff options
author | Robert Schwebel <r.schwebel@pengutronix.de> | 2007-01-06 17:40:15 +0000 |
---|---|---|
committer | Robert Schwebel <r.schwebel@pengutronix.de> | 2007-01-06 17:40:15 +0000 |
commit | cf36b983579d7735c2082b24af8ee2c1f290e5aa (patch) | |
tree | 9828934d43e3adb7811a27152be6b686138e848d /rules | |
parent | 93de51eadca0f75b75ea3fa545b5e4577ac86b00 (diff) | |
download | ptxdist-cf36b983579d7735c2082b24af8ee2c1f290e5aa.tar.gz ptxdist-cf36b983579d7735c2082b24af8ee2c1f290e5aa.tar.xz |
* fftw: added
git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-trunk@6755 33e552b5-05e3-0310-8538-816dae2090ed
Diffstat (limited to 'rules')
-rw-r--r-- | rules/Kconfig | 1 | ||||
-rw-r--r-- | rules/fftw.in | 55 | ||||
-rw-r--r-- | rules/fftw.make | 135 |
3 files changed, 191 insertions, 0 deletions
diff --git a/rules/Kconfig b/rules/Kconfig index 23eeb5902..d09acdb5b 100644 --- a/rules/Kconfig +++ b/rules/Kconfig @@ -207,6 +207,7 @@ source "rules/i915resolution.in" endmenu menu "Scientific Apps " +source "rules/fftw.in" source "rules/gnuplot.in" source "rules/libmodbus.in" source "rules/libpv.in" diff --git a/rules/fftw.in b/rules/fftw.in new file mode 100644 index 000000000..68df0b928 --- /dev/null +++ b/rules/fftw.in @@ -0,0 +1,55 @@ +# libfftw configuration + +menuconfig FFTW + bool + prompt "fftw " + help + FFTW is a C subroutine library for computing the discrete + Fourier transform (DFT) in one or more dimensions, of + arbitrary input size, and of both real and complex data (as + well as of even/odd data, i.e. the discrete cosine/sine + transforms or DCT/DST). + + For details, see http://www.fftw.org + + +# --enable-fma enable optimizations for machines with fused +# multiply-add +# --enable-debug compile fftw with extra runtime checks for debugging +# --enable-debug-malloc enable malloc debugging version +# --enable-debug-alignment +# enable alignment debugging hacks +# --enable-single compile fftw in single precision +# --enable-float synonym for --enable-single +# --enable-long-double compile fftw in long-double precision +# --enable-k7 enable AMD K7 optimizations, including 3dNow! +# --enable-sse enable SSE optimizations +# --enable-sse2 enable SSE2 optimizations +# --enable-altivec enable Altivec optimizations +# --disable-dependency-tracking speeds up one-time build +# --enable-dependency-tracking do not reject slow dependency extractors +# --enable-static[=PKGS] build static libraries [default=yes] +# --enable-fast-install[=PKGS] +# optimize for fast installation [default=yes] +# --disable-libtool-lock avoid locking (might break parallel builds) +# --enable-portable-binary +# disable compiler optimizations that would produce +# unportable binaries +# --disable-fortran don't include fortran-callable wrappers +# --enable-threads compile FFTW SMP threads library +# +# Optional Packages: +# --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] +# --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) +# --with-slow-timer use low-precision timers (SLOW) +# --with-our-malloc16 use our 16-byte aligned malloc (helpful for Win32) +# --with-windows-f77-mangling +# use common Win32 Fortran interface styles +# --with-gnu-ld assume the C compiler uses GNU ld [default=no] +# --with-pic try to use only PIC/non-PIC objects [default=use +# both] +# --with-tags[=TAGS] include additional configurations [automatic] +# --with-gcc-arch=<arch> use architecture <arch> for gcc -march/-mtune, +# instead of guessing +# --with-openmp use OpenMP directives instead of a threads library +# --with-combined-threads combine threads into main libfftw3 diff --git a/rules/fftw.make b/rules/fftw.make new file mode 100644 index 000000000..df37be2c0 --- /dev/null +++ b/rules/fftw.make @@ -0,0 +1,135 @@ +# -*-makefile-*- +# $Id: template 6487 2006-12-07 20:55:55Z rsc $ +# +# Copyright (C) 2006 by Robert Schwebel +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_FFTW) += fftw + +# +# Paths and names +# +FFTW_VERSION := 3.1.2 +FFTW := fftw-$(FFTW_VERSION) +FFTW_SUFFIX := tar.gz +FFTW_URL := http://www.fftw.org//$(FFTW).$(FFTW_SUFFIX) +FFTW_SOURCE := $(SRCDIR)/$(FFTW).$(FFTW_SUFFIX) +FFTW_DIR := $(BUILDDIR)/$(FFTW) + +# ---------------------------------------------------------------------------- +# Get +# ---------------------------------------------------------------------------- + +fftw_get: $(STATEDIR)/fftw.get + +$(STATEDIR)/fftw.get: $(fftw_get_deps_default) + @$(call targetinfo, $@) + @$(call touch, $@) + +$(FFTW_SOURCE): + @$(call targetinfo, $@) + @$(call get, FFTW) + +# ---------------------------------------------------------------------------- +# Extract +# ---------------------------------------------------------------------------- + +fftw_extract: $(STATEDIR)/fftw.extract + +$(STATEDIR)/fftw.extract: $(fftw_extract_deps_default) + @$(call targetinfo, $@) + @$(call clean, $(FFTW_DIR)) + @$(call extract, FFTW) + @$(call patchin, FFTW) + @$(call touch, $@) + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +fftw_prepare: $(STATEDIR)/fftw.prepare + +FFTW_PATH := PATH=$(CROSS_PATH) +FFTW_ENV := $(CROSS_ENV) + +# +# autoconf +# +FFTW_AUTOCONF := \ + $(CROSS_AUTOCONF_USR) \ + --enable-shared + +$(STATEDIR)/fftw.prepare: $(fftw_prepare_deps_default) + @$(call targetinfo, $@) + @$(call clean, $(FFTW_DIR)/config.cache) + cd $(FFTW_DIR) && \ + $(FFTW_PATH) $(FFTW_ENV) \ + ./configure $(FFTW_AUTOCONF) + @$(call touch, $@) + +# ---------------------------------------------------------------------------- +# Compile +# ---------------------------------------------------------------------------- + +fftw_compile: $(STATEDIR)/fftw.compile + +$(STATEDIR)/fftw.compile: $(fftw_compile_deps_default) + @$(call targetinfo, $@) + cd $(FFTW_DIR) && $(FFTW_PATH) $(MAKE) + @$(call touch, $@) + +# ---------------------------------------------------------------------------- +# Install +# ---------------------------------------------------------------------------- + +fftw_install: $(STATEDIR)/fftw.install + +$(STATEDIR)/fftw.install: $(fftw_install_deps_default) + @$(call targetinfo, $@) + @$(call install, FFTW) + @$(call touch, $@) + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +fftw_targetinstall: $(STATEDIR)/fftw.targetinstall + +$(STATEDIR)/fftw.targetinstall: $(fftw_targetinstall_deps_default) + @$(call targetinfo, $@) + + @$(call install_init, fftw) + @$(call install_fixup, fftw,PACKAGE,fftw) + @$(call install_fixup, fftw,PRIORITY,optional) + @$(call install_fixup, fftw,VERSION,$(FFTW_VERSION)) + @$(call install_fixup, fftw,SECTION,base) + @$(call install_fixup, fftw,AUTHOR,"Robert Schwebel <r.schwebel\@pengutronix.de>") + @$(call install_fixup, fftw,DEPENDS,) + @$(call install_fixup, fftw,DESCRIPTION,missing) + + @$(call install_copy, fftw, 0, 0, 0644, $(FFTW_DIR)/.libs/libfftw3.so.3.1.2, /usr/lib/libfftw3.so.3.1.2) + @$(call install_link, fftw, libfftw3.so.3.1.2, /usr/lib/libfftw3.so.3) + @$(call install_link, fftw, libfftw3.so.3.1.2, /usr/lib/libfftw3.so) + + @$(call install_finish, fftw) + + @$(call touch, $@) + +# ---------------------------------------------------------------------------- +# Clean +# ---------------------------------------------------------------------------- + +fftw_clean: + rm -rf $(STATEDIR)/fftw.* + rm -rf $(IMAGEDIR)/fftw_* + rm -rf $(FFTW_DIR) + +# vim: syntax=make |