bzip2.mk 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #############################################################
  2. #
  3. # bzip2
  4. #
  5. #############################################################
  6. BZIP2_VER:=1.0.3
  7. BZIP2_SOURCE:=bzip2-$(BZIP2_VER).tar.gz
  8. BZIP2_SITE:=http://www.bzip.org/$(BZIP2_VER)
  9. BZIP2_DIR:=$(BUILD_DIR)/bzip2-$(BZIP2_VER)
  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. $(WGET) -P $(DL_DIR) $(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_VER) \
  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 $(BZIP2_DIR)/.unpacked
  28. $(STAGING_DIR)/lib/libbz2.so.$(BZIP2_VER): $(BZIP2_DIR)/.unpacked
  29. $(TARGET_CONFIGURE_OPTS) \
  30. $(MAKE) CC=$(TARGET_CC) RANLIB=$(TARGET_RANLIB) -C $(BZIP2_DIR) -f Makefile-libbz2_so
  31. $(TARGET_CONFIGURE_OPTS) \
  32. $(MAKE) CC=$(TARGET_CC) RANLIB=$(TARGET_RANLIB) -C $(BZIP2_DIR) libbz2.a
  33. cp $(BZIP2_DIR)/bzlib.h $(STAGING_DIR)/include/
  34. cp $(BZIP2_DIR)/libbz2.so.$(BZIP2_VER) $(STAGING_DIR)/lib/
  35. cp $(BZIP2_DIR)/libbz2.a $(STAGING_DIR)/lib/
  36. (cd $(STAGING_DIR)/lib/; ln -snf libbz2.so.$(BZIP2_VER) libbz2.so)
  37. (cd $(STAGING_DIR)/lib/; ln -snf libbz2.so.$(BZIP2_VER) libbz2.so.1.0)
  38. $(BZIP2_BINARY): $(STAGING_DIR)/lib/libbz2.so.$(BZIP2_VER)
  39. $(TARGET_CONFIGURE_OPTS) \
  40. $(MAKE) CC=$(TARGET_CC) -C $(BZIP2_DIR) bzip2 bzip2recover
  41. touch -c $(BZIP2_BINARY)
  42. $(BZIP2_TARGET_BINARY): $(BZIP2_BINARY)
  43. (cd $(TARGET_DIR)/usr/bin; \
  44. rm -f bzip2 bunzip2 bzcat bzip2recover bzgrep bzegrep bzfgrep bzmore bzless bzdiff bzcmp);
  45. $(TARGET_CONFIGURE_OPTS) \
  46. $(MAKE) PREFIX=$(TARGET_DIR)/usr -C $(BZIP2_DIR) install
  47. rm -f $(TARGET_DIR)/usr/lib/libbz2.a
  48. rm -f $(TARGET_DIR)/usr/include/bzlib.h
  49. cp $(BZIP2_DIR)/libbz2.so.$(BZIP2_VER) $(TARGET_DIR)/usr/lib/
  50. (cd $(TARGET_DIR)/usr/lib; \
  51. ln -snf libbz2.so.$(BZIP2_VER) libbz2.so.1.0; \
  52. ln -snf libbz2.so.$(BZIP2_VER) libbz2.so)
  53. (cd $(TARGET_DIR)/usr/bin; \
  54. ln -snf bzip2 bunzip2; \
  55. ln -snf bzip2 bzcat; \
  56. ln -snf bzdiff bzcmp; \
  57. ln -snf bzmore bzless; \
  58. ln -snf bzgrep bzegrep; \
  59. ln -snf bzgrep bzfgrep;)
  60. rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
  61. $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
  62. $(TARGET_DIR)/usr/lib/libbz2.a: $(STAGING_DIR)/lib/libbz2.a
  63. mkdir -p $(TARGET_DIR)/usr/include
  64. cp $(STAGING_DIR)/include/bzlib.h $(TARGET_DIR)/usr/include/
  65. cp $(STAGING_DIR)/lib/libbz2.a $(TARGET_DIR)/usr/lib/
  66. rm -f $(TARGET_DIR)/lib/libbz2.so
  67. (cd $(TARGET_DIR)/usr/lib; \
  68. ln -fs /usr/lib/libbz2.so.1.0 libbz2.so; \
  69. )
  70. -$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/libbz2.so.1.0
  71. touch -c $(TARGET_DIR)/usr/lib/libbz2.a
  72. bzip2-headers: $(TARGET_DIR)/usr/lib/libbz2.a
  73. bzip2: uclibc $(BZIP2_TARGET_BINARY)
  74. bzip2-clean:
  75. $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(BZIP2_DIR) uninstall
  76. -$(MAKE) -C $(BZIP2_DIR) clean
  77. bzip2-dirclean:
  78. rm -rf $(BZIP2_DIR)
  79. #############################################################
  80. #
  81. # Toplevel Makefile options
  82. #
  83. #############################################################
  84. ifeq ($(strip $(BR2_PACKAGE_BZIP2)),y)
  85. TARGETS+=bzip2
  86. endif