pass ARCH down to uClibc
[buildroot.git] / package / libelf / libelf.mk
blobc920df1bbe287c6a79eb7c8e95a276b3d52eb56b
1 #############################################################
3 # libelf
5 #############################################################
6 LIBELF_VERSION=0.8.10
7 LIBELF_SOURCE=libelf-$(LIBELF_VERSION).tar.gz
8 LIBELF_SITE=http://www.mr511.de/software/
9 LIBELF_DIR=$(BUILD_DIR)/libelf-$(LIBELF_VERSION)
11 ifeq ($(BR2_LARGEFILE),y)
12 LIBELF_CONFIG:=--enable-elf64
13 endif
15 LIBELF_LIBMAJ :=$(word 1,$(subst ., ,$(LIBELF_VERSION)))
16 LIBELF_LIBMIN :=$(word 2,$(subst ., ,$(LIBELF_VERSION)))
17 LIBELF_LIBPATCH:=$(word 3,$(subst ., ,$(LIBELF_VERSION)))
19 $(DL_DIR)/$(LIBELF_SOURCE):
20 $(WGET) -P $(DL_DIR) $(LIBELF_SITE)/$(LIBELF_SOURCE)
22 $(LIBELF_DIR)/.unpacked: $(DL_DIR)/$(LIBELF_SOURCE)
23 $(ZCAT) $(DL_DIR)/$(LIBELF_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
24 toolchain/patch-kernel.sh $(LIBELF_DIR) package/libelf libelf\*.patch
25 $(CONFIG_UPDATE) $(LIBELF_DIR)
26 touch $@
28 $(LIBELF_DIR)/.configured: $(LIBELF_DIR)/.unpacked
29 (cd $(LIBELF_DIR); rm -f config.cache; \
30 libelf_cv_working_memmove=yes \
31 mr_cv_target_elf=yes \
32 libelf_64bit=yes \
33 $(AUTO_CONFIGURE_TARGET) \
34 --prefix=/usr \
35 --sysconfdir=/etc \
36 --enable-shared \
37 --disable-debug \
38 --disable-sanity-checks \
39 $(LIBELF_CONFIG) \
40 $(DISABLE_NLS) \
42 touch $@
44 $(LIBELF_DIR)/lib/libelf.so.$(LIBELF_VERSION): $(LIBELF_DIR)/.configured
45 $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(LIBELF_DIR)
47 $(STAGING_DIR)/usr/lib/libelf.a $(STAGING_DIR)/usr/lib/libelf.so.$(LIBELF_VERSION): $(LIBELF_DIR)/lib/libelf.so.$(LIBELF_VERSION)
48 $(MAKE) $(TARGET_CONFIGURE_OPTS) \
49 instroot=$(STAGING_DIR) -C $(LIBELF_DIR) install
51 ifeq ($(BR2_PACKAGE_LIBELF_HEADERS),y)
52 libelf_headers: $(TARGET_DIR)/usr/lib/libelf.so.$(LIBELF_VERSION)
53 $(TARGET_DIR)/usr/lib/libelf.so.$(LIBELF_VERSION): $(STAGING_DIR)/usr/lib/libelf.a
54 $(INSTALL) -d $(@D)
55 $(INSTALL) -m0755 $(STAGING_DIR)/usr/lib/$(@F) $@
56 (cd $(@D); \
57 ln -sf $(@F) $(@F:.$(LIBELF_LIBMIN).$(LIBELF_LIBPATCH)=); \
58 ln -sf $(@F) $(@F:.$(LIBELF_VERSION)=); \
60 ifeq ($(BR2_HAVE_INCLUDES),y)
61 $(INSTALL) -d $(TARGET_DIR)/usr/include
62 cp -dpRf $(wildcard $(addprefix $(STAGING_DIR)/usr/include/,gelf.h libelf*)) \
63 $(TARGET_DIR)/usr/include/
64 endif
65 $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $@
67 libelf: $(TARGET_DIR)/usr/lib/libelf.so.$(LIBELF_VERSION)
68 else
69 libelf: $(STAGING_DIR)/usr/lib/libelf.so.$(LIBELF_VERSION)
70 endif
71 libelf-source: $(DL_DIR)/$(LIBELF_SOURCE)
73 libelf-clean:
74 $(MAKE) prefix=$(TARGET_DIR)/usr -C $(LIBELF_DIR) uninstall
75 $(MAKE) instroot=$(STAGING_DIR) -C $(LIBELF_DIR) uninstall
76 -$(MAKE) -C $(LIBELF_DIR) clean
78 libelf-dirclean:
79 rm -rf $(LIBELF_DIR)
81 #############################################################
83 # Toplevel Makefile options
85 #############################################################
86 ifeq ($(BR2_PACKAGE_LIBELF),y)
87 TARGETS+=libelf
88 endif