bzip2.mk 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #############################################################
  2. #
  3. # bzip2
  4. #
  5. #############################################################
  6. BZIP2_SOURCE:=bzip2-1.0.2.tar.gz
  7. BZIP2_SITE:=ftp://sources.redhat.com/pub/bzip2/v102
  8. BZIP2_DIR:=$(BUILD_DIR)/bzip2-1.0.2
  9. BZIP2_CAT:=zcat
  10. BZIP2_BINARY:=$(BZIP2_DIR)/bzip2
  11. BZIP2_TARGET_BINARY:=$(TARGET_DIR)/usr/bin/bzmore
  12. ifeq ($(strip $(BUILD_WITH_LARGEFILE)),false)
  13. BZIP2_LARGEFILE="--disable-largefile"
  14. endif
  15. $(DL_DIR)/$(BZIP2_SOURCE):
  16. $(WGET) -P $(DL_DIR) $(BZIP2_SITE)/$(BZIP2_SOURCE)
  17. bzip2-source: $(DL_DIR)/$(BZIP2_SOURCE)
  18. $(BZIP2_DIR)/.unpacked: $(DL_DIR)/$(BZIP2_SOURCE)
  19. $(BZIP2_CAT) $(DL_DIR)/$(BZIP2_SOURCE) | tar -C $(BUILD_DIR) -xvf -
  20. perl -pi -e "s,ln \\$$\(,ln -sf \\$$\(,g" $(BZIP2_DIR)/Makefile
  21. perl -pi -e "s,ln -s (lib.*),ln -sf \$$1 ; ln -sf libbz2.so.1.0.2 libbz2.so,g" \
  22. $(BZIP2_DIR)/Makefile-libbz2_so
  23. touch $(BZIP2_DIR)/.unpacked
  24. $(STAGING_DIR)/lib/libbz2.so.1.0.2: $(BZIP2_DIR)/.unpacked
  25. $(TARGET_CONFIGURE_OPTS) \
  26. $(MAKE) CC=$(TARGET_CC) -C $(BZIP2_DIR) -f Makefile-libbz2_so
  27. $(TARGET_CONFIGURE_OPTS) \
  28. $(MAKE) CC=$(TARGET_CC) -C $(BZIP2_DIR) libbz2.a
  29. cp $(BZIP2_DIR)/bzlib.h $(STAGING_DIR)/include/
  30. cp $(BZIP2_DIR)/libbz2.so.1.0.2 $(STAGING_DIR)/lib/
  31. cp $(BZIP2_DIR)/libbz2.a $(STAGING_DIR)/lib/
  32. (cd $(STAGING_DIR)/lib/; ln -sf libbz2.so.1.0.2 libbz2.so)
  33. (cd $(STAGING_DIR)/lib/; ln -sf libbz2.so.1.0.2 libbz2.so.1.0)
  34. $(BZIP2_BINARY): $(STAGING_DIR)/lib/libbz2.so.1.0.2
  35. $(TARGET_CONFIGURE_OPTS) \
  36. $(MAKE) CC=$(TARGET_CC) -C $(BZIP2_DIR) bzip2 bzip2recover
  37. $(BZIP2_TARGET_BINARY): $(BZIP2_BINARY)
  38. $(TARGET_CONFIGURE_OPTS) \
  39. $(MAKE) PREFIX=$(TARGET_DIR)/usr -C $(BZIP2_DIR) install
  40. rm -f $(TARGET_DIR)/usr/lib/libbz2.a
  41. rm -f $(TARGET_DIR)/usr/include/bzlib.h
  42. cp $(BZIP2_DIR)/libbz2.so.1.0.2 $(TARGET_DIR)/usr/lib/
  43. (cd $(TARGET_DIR)/usr/lib; \
  44. ln -sf libbz2.so.1.0.2 libbz2.so.1.0; \
  45. ln -sf libbz2.so.1.0.2 libbz2.so)
  46. (cd $(TARGET_DIR)/usr/bin; \
  47. ln -sf bzip2 bunzip2; \
  48. ln -sf bzip2 bzcat; \
  49. ln -sf bzdiff bzcmp; \
  50. ln -sf bzmore bzless; \
  51. ln -sf bzgrep bzegrep; \
  52. ln -sf bzgrep bzfgrep;)
  53. rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
  54. $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
  55. $(TARGET_DIR)/usr/lib/libbz2.a: $(STAGING_DIR)/lib/libbz2.a
  56. mkdir -p $(TARGET_DIR)/usr/include
  57. cp $(STAGING_DIR)/include/bzlib.h $(TARGET_DIR)/usr/include/
  58. cp $(STAGING_DIR)/lib/libbz2.a $(TARGET_DIR)/usr/lib/
  59. rm -f $(TARGET_DIR)/lib/libbz2.so
  60. (cd $(TARGET_DIR)/usr/lib; \
  61. ln -fs /usr/lib/libbz2.so.1.0 libbz2.so; \
  62. )
  63. -$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/libbz2.so.1.0
  64. touch -c $(TARGET_DIR)/usr/lib/libbz2.a
  65. bzip2-headers: $(TARGET_DIR)/usr/lib/libbz2.a
  66. bzip2: uclibc $(BZIP2_TARGET_BINARY)
  67. bzip2-clean:
  68. $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(BZIP2_DIR) uninstall
  69. -$(MAKE) -C $(BZIP2_DIR) clean
  70. bzip2-dirclean:
  71. rm -rf $(BZIP2_DIR)