Makefile (2858B)
1 # 2 # Copyright (C) 2007-2017 OpenWrt.org 3 # 4 # This is free software, licensed under the GNU General Public License v2. 5 # See /LICENSE for more information. 6 # 7 8 include $(TOPDIR)/rules.mk 9 10 PKG_NAME:=fftw3 11 PKG_VERSION:=3.3.6-pl2 12 PKG_RELEASE:=1 13 PKG_LICENSE:=GPL-2.0+ 14 15 PKG_SOURCE:=fftw-$(PKG_VERSION).tar.gz 16 PKG_SOURCE_URL:=http://www.fftw.org 17 PKG_MD5SUM:=927e481edbb32575397eb3d62535a856 18 19 PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/fftw-$(PKG_VERSION) 20 PKG_FIXUP:=autoreconf 21 22 include $(INCLUDE_DIR)/package.mk 23 24 define Package/fftw3 25 SECTION:=libs 26 CATEGORY:=Libraries 27 DEPENDS:=@!avr32 +libpthread 28 VARIANT:=double 29 TITLE:=Fast Fourier transform library 30 URL:=http://www.fftw.org/ 31 MAINTAINER:=Vladimir Ulrich <admin@evl.su> 32 endef 33 34 define Package/fftw3f 35 $(call Package/fftw3) 36 VARIANT:=single 37 TITLE+= (single precision) 38 endef 39 40 define Package/fftw3l 41 $(call Package/fftw3) 42 DEPENDS:=@BROKEN 43 VARIANT:=long-double 44 TITLE+= (long-double precision) 45 endef 46 47 define Package/fftw3/description 48 FFTW is a collection of fast C routines for computing the 49 Discrete Fourier Transform in one or more dimensions. It 50 includes complex, real, and parallel transforms, and can 51 handle arbitrary array sizes efficiently. 52 endef 53 54 define Package/fftw3f/description 55 $(call Package/fftw3/description) 56 57 This package contains the single precision library. 58 endef 59 60 define Package/fftw3l/description 61 $(call Package/fftw3/description) 62 63 This package contains the long-double precision library. 64 endef 65 66 TARGET_CFLAGS += $(FPIC) 67 68 CONFIGURE_ARGS += \ 69 --prefix=/usr \ 70 --without-libiconv-prefix \ 71 --without-libintl-prefix \ 72 --enable-shared \ 73 --enable-threads \ 74 --enable-type-prefix \ 75 --disable-debug \ 76 --disable-fortran 77 78 ifeq ($(BUILD_VARIANT), single) 79 CONFIGURE_ARGS += \ 80 --enable-single 81 endif 82 83 ifeq ($(BUILD_VARIANT), long-double) 84 CONFIGURE_ARGS += \ 85 --enable-long-double 86 endif 87 88 define Build/Compile 89 $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" install 90 endef 91 92 define Build/InstallDev 93 $(INSTALL_DIR) $(1)/usr/include 94 $(CP) $(PKG_INSTALL_DIR)/usr/include/fftw3.h $(1)/usr/include 95 $(INSTALL_DIR) $(1)/usr/lib 96 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3*.{a,la} $(1)/usr/lib 97 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3*.so* $(1)/usr/lib 98 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig 99 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/ 100 endef 101 102 define Package/fftw3/install 103 $(INSTALL_DIR) $(1)/usr/lib 104 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3.so* $(1)/usr/lib/ 105 endef 106 107 define Package/fftw3f/install 108 $(INSTALL_DIR) $(1)/usr/lib 109 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3f.so* $(1)/usr/lib/ 110 endef 111 112 define Package/fftw3l/install 113 $(INSTALL_DIR) $(1)/usr/lib 114 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3l.so* $(1)/usr/lib/ 115 endef 116 117 $(eval $(call BuildPackage,fftw3)) 118 $(eval $(call BuildPackage,fftw3f)) 119 $(eval $(call BuildPackage,fftw3l))