tar.mk 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #############################################################
  2. #
  3. # tar
  4. #
  5. #############################################################
  6. GNUTAR_SOURCE:=tar-1.13.25.tar.gz
  7. GNUTAR_SITE:=ftp://alpha.gnu.org/gnu/tar
  8. GNUTAR_DIR:=$(BUILD_DIR)/tar-1.13.25
  9. GNUTAR_CAT:=zcat
  10. GNUTAR_BINARY:=src/tar
  11. GNUTAR_TARGET_BINARY:=bin/tar
  12. $(DL_DIR)/$(GNUTAR_SOURCE):
  13. $(WGET) -P $(DL_DIR) $(GNUTAR_SITE)/$(GNUTAR_SOURCE)
  14. tar-source: $(DL_DIR)/$(GNUTAR_SOURCE)
  15. $(GNUTAR_DIR)/.unpacked: $(DL_DIR)/$(GNUTAR_SOURCE)
  16. $(GNUTAR_CAT) $(DL_DIR)/$(GNUTAR_SOURCE) | tar -C $(BUILD_DIR) -xvf -
  17. touch $(GNUTAR_DIR)/.unpacked
  18. $(GNUTAR_DIR)/.configured: $(GNUTAR_DIR)/.unpacked
  19. (cd $(GNUTAR_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. --libexecdir=/usr/lib \
  31. --sysconfdir=/etc \
  32. --datadir=/usr/share \
  33. --localstatedir=/var \
  34. --mandir=/usr/man \
  35. --infodir=/usr/info \
  36. $(DISABLE_NLS) \
  37. $(DISABLE_LARGEFILE) \
  38. );
  39. touch $(GNUTAR_DIR)/.configured
  40. $(GNUTAR_DIR)/$(GNUTAR_BINARY): $(GNUTAR_DIR)/.configured
  41. $(MAKE) -C $(GNUTAR_DIR)
  42. # This stuff is needed to work around GNU make deficiencies
  43. tar-target_binary: $(GNUTAR_DIR)/$(GNUTAR_BINARY)
  44. @if [ -L $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY) ] ; then \
  45. rm -f $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY); fi;
  46. @if [ ! -f $(GNUTAR_DIR)/$(GNUTAR_BINARY) -o $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY) \
  47. -ot $(GNUTAR_DIR)/$(GNUTAR_BINARY) ] ; then \
  48. set -x; \
  49. rm -f $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY); \
  50. cp -a $(GNUTAR_DIR)/$(GNUTAR_BINARY) $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY); fi ;
  51. tar: uclibc tar-target_binary
  52. tar-clean:
  53. $(MAKE) DESTDIR=$(TARGET_DIR) -C $(GNUTAR_DIR) uninstall
  54. -$(MAKE) -C $(GNUTAR_DIR) clean
  55. tar-dirclean:
  56. rm -rf $(GNUTAR_DIR)