patch.mk 2.0 KB

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