bzip2.mk 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #############################################################
  2. #
  3. # bzip2
  4. #
  5. #############################################################
  6. BZIP2_VERSION:=1.0.5
  7. BZIP2_SOURCE:=bzip2-$(BZIP2_VERSION).tar.gz
  8. BZIP2_SITE:=http://www.bzip.org/$(BZIP2_VERSION)
  9. BZIP2_STAGING_INSTALL=YES
  10. define BZIP2_FIX_MAKEFILE
  11. $(SED) "s,ln \$$(,ln -snf \$$(,g" $(@D)/Makefile
  12. $(SED) "s,ln -s (lib.*),ln -snf \$$1; ln -snf libbz2.so.$(BZIP2_VERSION) \
  13. libbz2.so,g" $(@D)/Makefile-libbz2_so
  14. $(SED) "s:-O2:$(TARGET_CFLAGS):" $(@D)/Makefile
  15. $(SED) "s:-O2:$(TARGET_CFLAGS):" $(@D)/Makefile-libbz2_so
  16. endef
  17. BZIP2_POST_PATCH_HOOKS += BZIP2_FIX_MAKEFILE
  18. define BZIP2_NOLARGEFILE_FIX_MAKEFILE
  19. $(SED) "s,^BIGFILES,#BIGFILES,g" $(@D)/Makefile
  20. $(SED) "s,^BIGFILES,#BIGFILES,g" $(@D)/Makefile-libbz2_so
  21. endef
  22. ifneq ($(BR2_LARGEFILE),y)
  23. BZIP2_POST_PATCH_HOOKS += BZIP2_NOLARGEFILE_FIX_MAKEFILE
  24. endif
  25. define BZIP2_BUILD_CMDS
  26. $(TARGET_MAKE_ENV) \
  27. $(MAKE) -C $(@D) -f Makefile-libbz2_so \
  28. CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" AR="$(TARGET_AR)"
  29. $(TARGET_MAKE_ENV) \
  30. $(MAKE) -C $(@D) \
  31. CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" AR="$(TARGET_AR)" \
  32. libbz2.a bzip2 bzip2recover
  33. endef
  34. define BZIP2_INSTALL_STAGING_CMDS
  35. cp $(@D)/bzlib.h $(STAGING_DIR)/usr/include/
  36. cp $(@D)/libbz2.so.$(BZIP2_VERSION) $(STAGING_DIR)/usr/lib/
  37. cp $(@D)/libbz2.a $(STAGING_DIR)/usr/lib/
  38. (cd $(STAGING_DIR)/usr/lib/; \
  39. ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so; \
  40. ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1.0; \
  41. ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1; \
  42. )
  43. endef
  44. define B2IP_INSTALL_TARGET_CMDS
  45. $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \
  46. $(MAKE) PREFIX=$(TARGET_DIR)/usr -C $(@D) install
  47. cp $(@D)/libbz2.so.$(BZIP2_VERSION) $(TARGET_DIR)/usr/lib/
  48. (cd $(TARGET_DIR)/usr/lib; \
  49. ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so.1.0; \
  50. ln -snf libbz2.so.$(BZIP2_VERSION) libbz2.so; \
  51. )
  52. (cd $(TARGET_DIR)/usr/bin; \
  53. ln -snf bzip2 bunzip2; \
  54. ln -snf bzip2 bzcat; \
  55. ln -snf bzdiff bzcmp; \
  56. ln -snf bzmore bzless; \
  57. ln -snf bzgrep bzegrep; \
  58. ln -snf bzgrep bzfgrep; \
  59. )
  60. endef
  61. define BZIP2_CLEAN_CMDS
  62. rm -f $(addprefix $(TARGET_DIR),/lib/libbz2.* \
  63. /usr/lib/libbz2.* \
  64. /usr/include/bzlib.h)
  65. rm -f $(addprefix $(STAGING_DIR),/lib/libbz2.* \
  66. /usr/lib/libbz2.* \
  67. /usr/include/bzlib.h)
  68. -$(MAKE) -C $(@D) clean
  69. endef
  70. define HOST_BZIP2_FIX_MAKEFILE
  71. $(SED) "s,ln \$$(,ln -snf \$$(,g" $(@D)/Makefile
  72. $(SED) "s,ln -s (lib.*),ln -snf \$$1; ln -snf libbz2.so.$(BZIP2_VERSION) \
  73. libbz2.so,g" $(@D)/Makefile-libbz2_so
  74. $(SED) "s:-O2:$(HOST_CFLAGS):" $(@D)/Makefile
  75. $(SED) "s:-O2:$(HOST_CFLAGS):" $(@D)/Makefile-libbz2_so
  76. endef
  77. HOST_BZIP2_POST_PATCH_HOOKS += HOST_BZIP2_FIX_MAKEFILE
  78. define HOST_BZIP2_BUILD_CMDS
  79. $(HOST_MAKE_ENV) $(MAKE) -C $(@D) -f Makefile-libbz2_so
  80. $(HOST_MAKE_ENV) $(MAKE) -C $(@D) libbz2.a bzip2 bzip2recover
  81. endef
  82. define HOST_BZIP2_INSTALL_CMDS
  83. $(HOST_MAKE_ENV) \
  84. $(MAKE) PREFIX=$(HOST_DIR)/usr -C $(@D) install
  85. endef
  86. $(eval $(call GENTARGETS,package,bzip2))
  87. $(eval $(call GENTARGETS,package,bzip2,host))