patch.mk 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #############################################################
  2. #
  3. # patch
  4. #
  5. #############################################################
  6. GNUPATCH_VERSION:=2.5.9
  7. GNUPATCH_SOURCE:=patch_$(GNUPATCH_VERSION).orig.tar.gz
  8. GNUPATCH_SITE:=$(BR2_DEBIAN_MIRROR)/debian/pool/main/p/patch
  9. GNUPATCH_CAT:=$(ZCAT)
  10. GNUPATCH_DIR:=$(BUILD_DIR)/patch-$(GNUPATCH_VERSION)
  11. GNUPATCH_BINARY:=patch
  12. GNUPATCH_TARGET_BINARY:=usr/bin/patch
  13. $(DL_DIR)/$(GNUPATCH_SOURCE):
  14. $(call DOWNLOAD,$(GNUPATCH_SITE),$(GNUPATCH_SOURCE))
  15. patch-source: $(DL_DIR)/$(GNUPATCH_SOURCE)
  16. $(GNUPATCH_DIR)/.unpacked: $(DL_DIR)/$(GNUPATCH_SOURCE)
  17. $(GNUPATCH_CAT) $(DL_DIR)/$(GNUPATCH_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  18. $(CONFIG_UPDATE) $(GNUPATCH_DIR)
  19. touch $(GNUPATCH_DIR)/.unpacked
  20. $(GNUPATCH_DIR)/.configured: $(GNUPATCH_DIR)/.unpacked
  21. (cd $(GNUPATCH_DIR); rm -rf config.cache; \
  22. $(TARGET_CONFIGURE_OPTS) \
  23. $(TARGET_CONFIGURE_ARGS) \
  24. ./configure $(QUIET) \
  25. --target=$(GNU_TARGET_NAME) \
  26. --host=$(GNU_TARGET_NAME) \
  27. --build=$(GNU_HOST_NAME) \
  28. --prefix=/usr \
  29. --exec-prefix=/usr \
  30. --bindir=/usr/bin \
  31. --sbindir=/usr/sbin \
  32. --libdir=/lib \
  33. --libexecdir=/usr/lib \
  34. --sysconfdir=/etc \
  35. --datadir=/usr/share \
  36. --localstatedir=/var \
  37. --mandir=/usr/man \
  38. --infodir=/usr/info \
  39. $(DISABLE_NLS) \
  40. $(DISABLE_LARGEFILE) \
  41. )
  42. touch $(GNUPATCH_DIR)/.configured
  43. $(GNUPATCH_DIR)/$(GNUPATCH_BINARY): $(GNUPATCH_DIR)/.configured
  44. $(MAKE) CC=$(TARGET_CC) -C $(GNUPATCH_DIR)
  45. $(TARGET_DIR)/$(GNUPATCH_TARGET_BINARY): $(GNUPATCH_DIR)/$(GNUPATCH_BINARY)
  46. rm -f $(TARGET_DIR)/$(GNUPATCH_TARGET_BINARY)
  47. cp -a $(GNUPATCH_DIR)/$(GNUPATCH_BINARY) $(TARGET_DIR)/$(GNUPATCH_TARGET_BINARY)
  48. patch: $(TARGET_DIR)/$(GNUPATCH_TARGET_BINARY)
  49. patch-clean:
  50. rm -f $(TARGET_DIR)/$(GNUPATCH_TARGET_BINARY)
  51. patch-dirclean:
  52. rm -rf $(GNUPATCH_DIR)
  53. #############################################################
  54. #
  55. # Toplevel Makefile options
  56. #
  57. #############################################################
  58. ifeq ($(BR2_PACKAGE_PATCH),y)
  59. TARGETS+=patch
  60. endif