patch.mk 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #############################################################
  2. #
  3. # patch
  4. #
  5. #############################################################
  6. GNUPATCH_SOURCE:=patch-2.5.4.tar.gz
  7. GNUPATCH_SITE:=ftp://ftp.gnu.org/pub/gnu/patch
  8. GNUPATCH_CAT:=zcat
  9. GNUPATCH_DIR:=$(BUILD_DIR)/patch-2.5.4
  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) -xvf -
  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. ./configure \
  22. --target=$(GNU_TARGET_NAME) \
  23. --host=$(GNU_TARGET_NAME) \
  24. --build=$(GNU_HOST_NAME) \
  25. --prefix=/usr \
  26. --exec-prefix=/usr \
  27. --bindir=/usr/bin \
  28. --sbindir=/usr/sbin \
  29. --libexecdir=/usr/lib \
  30. --sysconfdir=/etc \
  31. --datadir=/usr/share \
  32. --localstatedir=/var \
  33. --mandir=/usr/man \
  34. --infodir=/usr/info \
  35. --disable-nls \
  36. );
  37. touch $(GNUPATCH_DIR)/.configured
  38. $(GNUPATCH_DIR)/$(GNUPATCH_BINARY): $(GNUPATCH_DIR)/.configured
  39. $(MAKE) CC=$(TARGET_CC) -C $(GNUPATCH_DIR)
  40. $(TARGET_DIR)/$(GNUPATCH_TARGET_BINARY): $(GNUPATCH_DIR)/$(GNUPATCH_BINARY)
  41. cp -a $(GNUPATCH_DIR)/$(GNUPATCH_BINARY) $(TARGET_DIR)/$(GNUPATCH_TARGET_BINARY)
  42. patch: uclibc $(TARGET_DIR)/$(GNUPATCH_TARGET_BINARY)
  43. patch-clean:
  44. $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(GNUPATCH_DIR) uninstall
  45. -$(MAKE) -C $(GNUPATCH_DIR) clean
  46. patch-dirclean:
  47. rm -rf $(GNUPATCH_DIR)