bump version
[buildroot.git] / package / mpfr / mpfr.mk
blob36590cd522777d889b00f717ba535a185b233495
1 #############################################################
3 # mpfr
5 #############################################################
6 MPFR_VERSION:=2.4.1
7 MPFR_PATCH:=patches
8 MPFR_PATCH_FILE:=mpfr-$(MPFR_VERSION).patch
9 MPFR_SOURCE:=mpfr-$(MPFR_VERSION).tar.bz2
10 MPFR_CAT:=$(BZCAT)
11 MPFR_SITE:=http://www.mpfr.org/mpfr-current/
12 MPFR_DIR:=$(TOOL_BUILD_DIR)/mpfr-$(MPFR_VERSION)
13 MPFR_TARGET_DIR:=$(BUILD_DIR)/mpfr-$(MPFR_VERSION)
14 MPFR_BINARY:=libmpfr$(LIBTGTEXT)
15 MPFR_HOST_BINARY:=libmpfr$(HOST_SHREXT)
16 MPFR_LIBVERSION:=1.2.0
18 # No patch
19 ifeq ($(MPFR_PATCH),)
20 $(DL_DIR)/$(MPFR_SOURCE):
21 $(WGET) -P $(DL_DIR) $(MPFR_SITE)/$(MPFR_SOURCE)
23 libmpfr-source: $(DL_DIR)/$(MPFR_SOURCE)
24 endif
25 # need patch
26 ifneq ($(MPFR_PATCH),)
27 $(DL_DIR)/$(MPFR_SOURCE):
28 $(WGET) -P $(DL_DIR) $(MPFR_SITE)/$(MPFR_SOURCE)
30 $(DL_DIR)/$(MPFR_PATCH_FILE):
31 $(WGET) -O $@ $(MPFR_SITE)/$(MPFR_PATCH)
33 libmpfr-source: $(DL_DIR)/$(MPFR_SOURCE) $(DL_DIR)/$(MPFR_PATCH_FILE)
34 endif
36 ifeq ($(MPFR_PATCH),)
37 $(MPFR_DIR)/.unpacked: $(DL_DIR)/$(MPFR_SOURCE)
38 else
39 $(MPFR_DIR)/.unpacked: $(DL_DIR)/$(MPFR_SOURCE) $(DL_DIR)/$(MPFR_PATCH_FILE)
40 endif
41 $(MPFR_CAT) $(DL_DIR)/$(MPFR_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
42 toolchain/patch-kernel.sh $(MPFR_DIR) package/mpfr/ \*.patch
43 $(CONFIG_UPDATE) $(@D)
44 ifneq ($(MPFR_PATCH),)
45 ( cd $(MPFR_DIR); patch -p1 < $(DL_DIR)/$(MPFR_PATCH_FILE); )
46 endif
47 touch $@
49 $(MPFR_TARGET_DIR)/.configured: $(MPFR_DIR)/.unpacked $(STAGING_DIR)/usr/lib/$(GMP_BINARY)
50 mkdir -p $(MPFR_TARGET_DIR)
51 (cd $(MPFR_TARGET_DIR); rm -rf config.cache; \
52 $(TARGET_CONFIGURE_OPTS) \
53 $(TARGET_CONFIGURE_ARGS) \
54 $(TARGET_CONFIGURE_ENV) \
55 $(MPFR_DIR)/configure \
56 --target=$(REAL_GNU_TARGET_NAME) \
57 --host=$(REAL_GNU_TARGET_NAME) \
58 --build=$(GNU_HOST_NAME) \
59 --prefix=/usr \
60 $(PREFERRED_LIB_FLAGS) \
61 --with-gmp-build=$(GMP_TARGET_DIR) \
62 $(DISABLE_NLS) \
64 touch $@
66 $(MPFR_TARGET_DIR)/.libs/$(MPFR_BINARY): $(MPFR_TARGET_DIR)/.configured
67 #$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(MPFR_TARGET_DIR)
68 $(MAKE) -C $(MPFR_TARGET_DIR)
70 $(STAGING_DIR)/usr/lib/$(MPFR_BINARY): $(MPFR_TARGET_DIR)/.libs/$(MPFR_BINARY)
71 $(MAKE) DESTDIR=$(STAGING_DIR) -C $(MPFR_TARGET_DIR) install
72 $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(STAGING_DIR)/usr/lib/libmpfr$(LIBTGTEXT)*
74 $(TARGET_DIR)/usr/lib/libmpfr.so $(TARGET_DIR)/usr/lib/libmpfr.so.$(MPFR_LIBVERSION) $(TARGET_DIR)/usr/lib/libmpfr.a: $(STAGING_DIR)/usr/lib/$(MPFR_BINARY)
75 cp -dpf $(STAGING_DIR)/usr/lib/libmpfr$(LIBTGTEXT)* $(TARGET_DIR)/usr/lib/
76 ifeq ($(BR2_PACKAGE_LIBMPFR_HEADERS),y)
77 $(INSTALL) -D -m0664 $(STAGING_DIR)/usr/include/mpfr.h \
78 $(TARGET_DIR)/usr/include/mpfr.h
79 $(INSTALL) -D -m0664 $(STAGING_DIR)/usr/include/mpf2mpfr.h \
80 $(TARGET_DIR)/usr/include/mpf2mpfr.h
81 endif
83 libmpfr: $(TARGET_DIR)/usr/lib/libmpfr$(LIBTGTEXT)
84 stage-libmpfr: $(STAGING_DIR)/usr/lib/$(MPFR_BINARY)
86 libmpfr-clean:
87 -$(MAKE) -C $(MPFR_TARGET_DIR) clean
88 rm -f $(TARGET_DIR)/usr/lib/libmpfr.* \
89 $(TARGET_DIR)/usr/include/mpfr.h \
90 $(TARGET_DIR)/usr/include/mpf2mpfr.h \
91 $(STAGING_DIR)/usr/lib/libmpfr* \
92 $(STAGING_DIR)/usr/include/mpfr* \
93 $(MPFR_TARGET_DIR)/.configured
95 libmpfr-dirclean:
96 rm -rf $(MPFR_TARGET_DIR)
98 MPFR_DIR2:=$(TOOL_BUILD_DIR)/mpfr-$(MPFR_VERSION)-host
99 MPFR_HOST_DIR:=$(TOOL_BUILD_DIR)/mpfr
100 $(MPFR_DIR2)/.configured: $(MPFR_DIR)/.unpacked $(GMP_HOST_DIR)/lib/$(GMP_HOST_BINARY)
101 mkdir -p $(MPFR_DIR2)
102 (cd $(MPFR_DIR2); \
103 $(HOST_CONFIGURE_OPTS) \
104 $(MPFR_DIR)/configure \
105 --prefix="$(MPFR_HOST_DIR)" \
106 --build=$(GNU_HOST_NAME) \
107 --host=$(GNU_HOST_NAME) \
108 --enable-shared \
109 --enable-static \
110 --with-gmp=$(GMP_HOST_DIR) \
111 $(DISABLE_NLS) \
113 touch $@
115 $(MPFR_HOST_DIR)/lib/libmpfr$(HOST_LIBEXT) $(MPFR_HOST_DIR)/lib/libmpfr$(HOST_SHREXT) $(MPFR_HOST_DIR)/lib/libmpfr$(HOST_SHREXT).$(MPFR_LIBVERSION): $(MPFR_DIR2)/.configured
116 $(MAKE) -C $(MPFR_DIR2) install
118 host-libmpfr: $(MPFR_HOST_DIR)/lib/$(MPFR_HOST_BINARY)
119 host-libmpfr-clean:
120 -$(MAKE) -C $(MPFR_DIR2) clean
121 rm -rf $(MPFR_HOST_DIR)
123 host-libmpfr-dirclean:
124 rm -rf $(MPFR_HOST_DIR) $(MPFR_DIR2)
126 #############################################################
128 # Toplevel Makefile options
130 #############################################################
131 ifeq ($(BR2_PACKAGE_LIBMPFR),y)
132 TARGETS+=libmpfr
133 endif