fix depends dir
[buildroot.git] / package / gmp / gmp.mk
blob78d22aeb59c4718a301115f09c5450c7c4e9a283
1 #############################################################
3 # gmp
5 #############################################################
6 GMP_VERSION:=4.2.2
7 GMP_SOURCE:=gmp-$(GMP_VERSION).tar.bz2
8 GMP_SITE:=http://ftp.sunet.se/pub/gnu/gmp/
9 GMP_CAT:=$(BZCAT)
10 GMP_DIR:=$(TOOL_BUILD_DIR)/gmp-$(GMP_VERSION)
11 GMP_TARGET_DIR:=$(BUILD_DIR)/gmp-$(GMP_VERSION)
12 GMP_BINARY:=libgmp$(LIBTGTEXT)
13 GMP_HOST_BINARY:=libgmp$(HOST_SHREXT)
14 GMP_LIBVERSION:=3.4.2
16 ## this is a workaround for a bug in GMP, please see
17 ## http://gmplib.org/list-archives/gmp-devel/2006-April/000618.html
18 #ifeq ($(HOST_EXEEXT),.exe)
19 #GMP_CPP_FLAGS:=CPPFLAGS=-DDLL_EXPORT
20 #endif
24 $(DL_DIR)/$(GMP_SOURCE):
25 $(WGET) -P $(DL_DIR) $(GMP_SITE)/$(GMP_SOURCE)
27 libgmp-source: $(DL_DIR)/$(GMP_SOURCE)
29 $(GMP_DIR)/.unpacked: $(DL_DIR)/$(GMP_SOURCE)
30 $(GMP_CAT) $(DL_DIR)/$(GMP_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
31 toolchain/patch-kernel.sh $(GMP_DIR) package/gmp/ \*.patch
32 $(CONFIG_UPDATE) $(@D)
33 touch $@
35 $(GMP_TARGET_DIR)/.configured: $(GMP_DIR)/.unpacked
36 mkdir -p $(GMP_TARGET_DIR)
37 (cd $(GMP_TARGET_DIR); rm -rf config.cache; \
38 $(TARGET_CONFIGURE_OPTS) \
39 $(TARGET_CONFIGURE_ARGS) \
40 $(TARGET_CONFIGURE_ENV) \
41 $(GMP_DIR)/configure \
42 --target=$(REAL_GNU_TARGET_NAME) \
43 --host=$(REAL_GNU_TARGET_NAME) \
44 --build=$(GNU_HOST_NAME) \
45 --prefix=/usr \
46 $(PREFERRED_LIB_FLAGS) \
47 $(DISABLE_NLS) \
49 touch $@
51 $(GMP_TARGET_DIR)/.libs/$(GMP_BINARY): $(GMP_TARGET_DIR)/.configured
52 #$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(GMP_TARGET_DIR)
53 $(MAKE) -C $(GMP_TARGET_DIR)
55 $(STAGING_DIR)/usr/lib/$(GMP_BINARY): $(GMP_TARGET_DIR)/.libs/$(GMP_BINARY)
56 $(MAKE) DESTDIR=$(STAGING_DIR) -C $(GMP_TARGET_DIR) install
57 $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(STAGING_DIR)/usr/lib/libgmp$(LIBTGTEXT)*
59 $(TARGET_DIR)/usr/lib/libgmp.so $(TARGET_DIR)/usr/lib/libgmp.so.$(GMP_LIBVERSION) $(TARGET_DIR)/usr/lib/libgmp.a: $(STAGING_DIR)/usr/lib/$(GMP_BINARY)
60 cp -dpf $(STAGING_DIR)/usr/lib/libgmp$(LIBTGTEXT)* $(TARGET_DIR)/usr/lib/
61 ifeq ($(BR2_PACKAGE_LIBGMP_HEADERS),y)
62 test -d $(TARGET_DIR)/usr/include || mkdir -p $(TARGET_DIR)/usr/include
63 cp -dpf $(STAGING_DIR)/usr/include/gmp.h $(TARGET_DIR)/usr/include/
64 endif
66 libgmp: uclibc $(TARGET_DIR)/usr/lib/libgmp$(LIBTGTEXT)
67 stage-libgmp: uclibc $(STAGING_DIR)/usr/lib/$(GMP_BINARY)
69 libgmp-clean:
70 -$(MAKE) -C $(GMP_TARGET_DIR) clean
71 rm -f $(TARGET_DIR)/usr/lib/libgmp.* $(TARGET_DIR)/usr/include/gmp.h \
72 $(STAGING_DIR)/usr/lib/libgmp* \
73 $(STAGING_DIR)/usr/include/gmp.h \
74 $(GMP_TARGET_DIR)/.configured
76 libgmp-dirclean:
77 rm -rf $(GMP_TARGET_DIR) $(GMP_DIR)
79 GMP_DIR2:=$(TOOL_BUILD_DIR)/gmp-$(GMP_VERSION)-host
80 GMP_HOST_DIR:=$(TOOL_BUILD_DIR)/gmp
81 $(GMP_DIR2)/.configured: $(GMP_DIR)/.unpacked
82 mkdir -p $(GMP_DIR2)
83 (cd $(GMP_DIR2); rm -rf config.cache; \
84 $(HOST_CONFIGURE_OPTS) \
85 $(GMP_CPP_FLAGS) \
86 $(GMP_DIR)/configure \
87 --prefix="$(GMP_HOST_DIR)" \
88 --build=$(GNU_HOST_NAME) \
89 --host=$(GNU_HOST_NAME) \
90 --enable-shared \
91 --enable-static \
92 $(DISABLE_NLS) \
94 touch $@
96 $(GMP_HOST_DIR)/lib/libgmp$(HOST_LIBEXT) $(GMP_HOST_DIR)/lib/libgmp$(HOST_SHREXT) $(GMP_HOST_DIR)/lib/libgmp$(HOST_SHREXT).(GMP_LIBVERSION): $(GMP_DIR2)/.configured
97 $(MAKE) -C $(GMP_DIR2) install
99 host-libgmp: $(GMP_HOST_DIR)/lib/$(GMP_HOST_BINARY)
100 host-libgmp-clean:
101 -$(MAKE) -C $(GMP_DIR2) clean
102 rm -rf $(GMP_HOST_DIR)
104 host-libgmp-dirclean:
105 rm -rf $(GMP_HOST_DIR) $(GMP_DIR2)
107 #############################################################
109 # Toplevel Makefile options
111 #############################################################
112 ifeq ($(BR2_PACKAGE_LIBGMP),y)
113 TARGETS+=libgmp
114 endif