Merge pull request #3238 from eduardoabinader/bump_libcheck
[feed/packages.git] / libs / fftw3 / Makefile
1 #
2 # Copyright (C) 2007-2015 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-pl1
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:=682a0e78d6966ca37c7446d4ab4cc2a1
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))