bzip2.mk 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. #############################################################
  2. #
  3. # bzip2
  4. #
  5. #############################################################
  6. BZIP2_VERSION:=1.0.4
  7. BZIP2_SOURCE:=bzip2-$(BZIP2_VERSION).tar.gz
  8. BZIP2_SITE:=http://www.bzip.org/$(BZIP2_VERSION)
  9. BZIP2_DIR:=$(BUILD_DIR)/bzip2-$(BZIP2_VERSION)
  10. BZIP2_CAT:=$(ZCAT)
  11. BZIP2_BINARY:=$(BZIP2_DIR)/bzip2
  12. BZIP2_TARGET_BINARY:=$(TARGET_DIR)/usr/bin/bzmore
  13. $(DL_DIR)/$(BZIP2_SOURCE):
  14. $(call DOWNLOAD,$(BZIP2_SITE),$(BZIP2_SOURCE))
  15. bzip2-source: $(DL_DIR)/$(BZIP2_SOURCE)
  16. $(BZIP2_DIR)/.unpacked: $(DL_DIR)/$(BZIP2_SOURCE)
  17. $(BZIP2_CAT) $(DL_DIR)/$(BZIP2_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  18. $(SED) "s,ln \$$(,ln -snf \$$(,g" $(BZIP2_DIR)/Makefile
  19. $(SED) "s,ln -s (lib.*),ln -snf \$$1; ln -snf libbz2.so.$(BZIP2_VERSION) \
  20. libbz2.so,g" $(BZIP2_DIR)/Makefile-libbz2_so
  21. ifneq ($(BR2_LARGEFILE),y)
  22. $(SED) "s,^BIGFILES,#BIGFILES,g" $(BZIP2_DIR)/Makefile
  23. $(SED) "s,^BIGFILES,#BIGFILES,g" $(BZIP2_DIR)/Makefile-libbz2_so
  24. endif
  25. $(SED) "s:-O2:$(TARGET_CFLAGS):" $(BZIP2_DIR)/Makefile
  26. $(SED) "s:-O2:$(TARGET_CFLAGS):" $(BZIP2_DIR)/Makefile-libbz2_so
  27. touch $@
  28. $(STAGING_DIR)/usr/lib/libbz2.so.$(BZIP2_VERSION): $(BZIP2_DIR)/.unpacked
  29. $(TARGET_CONFIGURE_OPTS) \
  30. $(MAKE) CC=$(TARGET_CC) RANLIB=$(TARGET_RANLIB) AR=$(TARGET_AR) \
  31. -C $(BZIP2_DIR) -f Makefile-libbz2_so
  32. $(TARGET_CONFIGURE_OPTS) \
  33. $(MAKE) CC=$(TARGET_CC) RANLIB=$(TARGET_RANLIB) AR=$(TARGET_AR) \
  34. -C $(BZIP2_DIR) libbz2.a
  35. cp $(BZIP2_DIR)/bzlib.h $(STAGING_DIR)/usr/include/
  36. cp $(BZIP2_DIR)/libbz2.so.$(BZIP2_VERSION) $(STAGING_DIR)/usr/lib/
  37. cp $(BZIP2_DIR)/libbz2.a $(STAGING_DIR)/usr/lib/
  38. (cd $(STAGING_DIR)/usr/lib/; \
  39. ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so; \
  40. )
  41. (cd $(STAGING_DIR)/usr/lib; \
  42. ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1.0; \
  43. ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1; \
  44. )
  45. $(BZIP2_BINARY): $(STAGING_DIR)/usr/lib/libbz2.so.$(BZIP2_VERSION)
  46. $(TARGET_CONFIGURE_OPTS) \
  47. $(MAKE) CC=$(TARGET_CC) -C $(BZIP2_DIR) bzip2 bzip2recover
  48. touch -c $@
  49. $(BZIP2_TARGET_BINARY): $(BZIP2_BINARY)
  50. (cd $(TARGET_DIR)/usr/bin; \
  51. rm -f bzip2 bunzip2 bzcat bzip2recover \
  52. bzgrep bzegrep bzfgrep bzmore bzless bzdiff bzcmp; \
  53. )
  54. $(TARGET_CONFIGURE_OPTS) \
  55. $(MAKE) PREFIX=$(TARGET_DIR)/usr -C $(BZIP2_DIR) install
  56. rm -f $(TARGET_DIR)/usr/lib/libbz2.a
  57. rm -f $(TARGET_DIR)/usr/include/bzlib.h
  58. cp $(BZIP2_DIR)/libbz2.so.$(BZIP2_VERSION) $(TARGET_DIR)/usr/lib/
  59. (cd $(TARGET_DIR)/usr/lib; \
  60. ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1.0; \
  61. ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so; \
  62. )
  63. (cd $(TARGET_DIR)/usr/bin; \
  64. ln -snf bzip2 bunzip2; \
  65. ln -snf bzip2 bzcat; \
  66. ln -snf bzdiff bzcmp; \
  67. ln -snf bzmore bzless; \
  68. ln -snf bzgrep bzegrep; \
  69. ln -snf bzgrep bzfgrep; \
  70. )
  71. ifneq ($(BR2_HAVE_INFOPAGES),y)
  72. rm -rf $(TARGET_DIR)/usr/info
  73. endif
  74. ifneq ($(BR2_HAVE_MANPAGES),y)
  75. rm -rf $(TARGET_DIR)/usr/man
  76. endif
  77. rm -rf $(TARGET_DIR)/share/locale
  78. rm -rf $(TARGET_DIR)/usr/share/doc
  79. $(TARGET_DIR)/usr/lib/libbz2.a: $(STAGING_DIR)/usr/lib/libbz2.a
  80. mkdir -p $(TARGET_DIR)/usr/include
  81. cp $(STAGING_DIR)/usr/include/bzlib.h $(TARGET_DIR)/usr/include/
  82. cp $(STAGING_DIR)/usr/lib/libbz2.a $(TARGET_DIR)/usr/lib/
  83. rm -f $(TARGET_DIR)/lib/libbz2.so
  84. (cd $(TARGET_DIR)/usr/lib; \
  85. ln -fs /usr/lib/libbz2.so.1.0 libbz2.so; \
  86. )
  87. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libbz2.so.1.0
  88. touch -c $@
  89. bzip2-headers: $(TARGET_DIR)/usr/lib/libbz2.a
  90. bzip2: uclibc $(BZIP2_TARGET_BINARY)
  91. bzip2-clean:
  92. rm -f $(addprefix $(TARGET_DIR),/lib/libbz2.* \
  93. /usr/lib/libbz2.* \
  94. /usr/include/bzlib.h)
  95. rm -f $(addprefix $(STAGING_DIR),/lib/libbz2.* \
  96. /usr/lib/libbz2.* \
  97. /usr/include/bzlib.h)
  98. -$(MAKE) -C $(BZIP2_DIR) clean
  99. bzip2-dirclean:
  100. rm -rf $(BZIP2_DIR)
  101. #############################################################
  102. #
  103. # Toplevel Makefile options
  104. #
  105. #############################################################
  106. ifeq ($(BR2_PACKAGE_BZIP2),y)
  107. TARGETS+=bzip2
  108. endif