libelf.mk 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #############################################################
  2. #
  3. # libelf
  4. #
  5. #############################################################
  6. LIBELF_VER=0.8.5
  7. LIBELF_SOURCE=libelf-$(LIBELF_VER).tar.gz
  8. LIBELF_SITE=http://www.mr511.de/software/
  9. LIBELF_DIR=$(BUILD_DIR)/libelf-$(LIBELF_VER)
  10. LIBELF_ARCH:=$(ARCH)
  11. ifeq ("$(strip $(ARCH))","armeb")
  12. LIBELF_ARCH:=arm
  13. endif
  14. $(DL_DIR)/$(LIBELF_SOURCE):
  15. $(WGET) -P $(DL_DIR) $(LIBELF_SITE)/$(LIBELF_SOURCE)
  16. $(LIBELF_DIR)/.source: $(DL_DIR)/$(LIBELF_SOURCE)
  17. zcat $(DL_DIR)/$(LIBELF_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  18. toolchain/patch-kernel.sh $(LIBELF_DIR) package/libelf libelf\*.patch
  19. touch $(LIBELF_DIR)/.source
  20. $(LIBELF_DIR)/.configured: $(LIBELF_DIR)/.source
  21. (cd $(LIBELF_DIR); \
  22. $(TARGET_CONFIGURE_OPTS) \
  23. ./configure \
  24. --target=$(GNU_TARGET_NAME) \
  25. --host=$(GNU_TARGET_NAME) \
  26. --build=$(GNU_HOST_NAME) \
  27. --prefix=/usr \
  28. --sysconfdir=/etc \
  29. $(DISABLE_NLS) \
  30. --enable-shared \
  31. );
  32. touch $(LIBELF_DIR)/.configured;
  33. $(LIBELF_DIR)/libelf.so.$(LIBELF_VER): $(LIBELF_DIR)/.configured
  34. $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(LIBELF_DIR)
  35. $(STAGING_DIR)/usr/lib/libelf.a: $(LIBELF_DIR)/libelf.so.$(LIBELF_VER)
  36. $(MAKE1) $(TARGET_CONFIGURE_OPTS) ${INSTALL}="install -D" \
  37. instroot=$(STAGING_DIR) -C $(LIBELF_DIR) install
  38. $(TARGET_DIR)/usr/lib/libelf.so.$(LIBELF_VER): $(STAGING_DIR)/usr/lib/libelf.a
  39. $(INSTALL) -m 0644 $(STAGING_DIR)/usr/lib/libelf.so.$(LIBELF_VER) $(TARGET_DIR)/usr/lib/
  40. $(INSTALL) -m 0644 $(STAGING_DIR)/usr/lib/libelf.so.0 $(TARGET_DIR)/usr/lib/
  41. libelf: uclibc $(TARGET_DIR)/usr/lib/libelf.so.$(LIBELF_VER)
  42. libelf-source: $(DL_DIR)/$(LIBELF_SOURCE)
  43. libelf-clean:
  44. $(MAKE) prefix=$(TARGET_DIR)/usr -C $(LIBELF_DIR) uninstall
  45. -$(MAKE) -C $(LIBELF_DIR) clean
  46. libelf-dirclean:
  47. rm -rf $(LIBELF_DIR)
  48. #############################################################
  49. #
  50. # Toplevel Makefile options
  51. #
  52. #############################################################
  53. ifeq ($(strip $(BR2_PACKAGE_LIBELF)),y)
  54. TARGETS+=libelf
  55. endif