Merge pull request #4853 from StevenHessing/noddos
[feed/packages.git] / libs / fftw3 / Makefile
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_HASH:=a5de35c5c824a78a058ca54278c706cdf3d4abba1c56b63531c2cb05f5d57da2
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))