fix installation
[buildroot.git] / package / libelf / libelf.mk
blobcd2ccddf2777734b5df5da8ed298a86e6fa0ba86
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 $(INSTALL) -d $(TARGET_DIR)/usr/include
61 cp -dpRf $(wildcard $(addprefix $(STAGING_DIR)/usr/include/,gelf.h libelf*)) \
62 $(TARGET_DIR)/usr/include/
63 $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $@
65 libelf: uclibc $(TARGET_DIR)/usr/lib/libelf.so.$(LIBELF_VERSION)
66 else
67 libelf: uclibc $(STAGING_DIR)/usr/lib/libelf.so.$(LIBELF_VERSION)
68 endif
69 libelf-source: $(DL_DIR)/$(LIBELF_SOURCE)
71 libelf-clean:
72 $(MAKE) prefix=$(TARGET_DIR)/usr -C $(LIBELF_DIR) uninstall
73 $(MAKE) instroot=$(STAGING_DIR) -C $(LIBELF_DIR) uninstall
74 -$(MAKE) -C $(LIBELF_DIR) clean
76 libelf-dirclean:
77 rm -rf $(LIBELF_DIR)
79 #############################################################
81 # Toplevel Makefile options
83 #############################################################
84 ifeq ($(BR2_PACKAGE_LIBELF),y)
85 TARGETS+=libelf
86 endif