tar.mk 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #############################################################
  2. #
  3. # tar
  4. #
  5. #############################################################
  6. GNUTAR_VER:=1.15.1
  7. GNUTAR_SOURCE:=tar-$(GNUTAR_VER).tar.bz2
  8. GNUTAR_SITE:=http://ftp.gnu.org/gnu/tar/
  9. GNUTAR_DIR:=$(BUILD_DIR)/tar-$(GNUTAR_VER)
  10. GNUTAR_CAT:=bzcat
  11. GNUTAR_BINARY:=src/tar
  12. GNUTAR_TARGET_BINARY:=bin/tar
  13. $(DL_DIR)/$(GNUTAR_SOURCE):
  14. $(WGET) -P $(DL_DIR) $(GNUTAR_SITE)/$(GNUTAR_SOURCE)
  15. tar-source: $(DL_DIR)/$(GNUTAR_SOURCE)
  16. $(GNUTAR_DIR)/.unpacked: $(DL_DIR)/$(GNUTAR_SOURCE)
  17. $(GNUTAR_CAT) $(DL_DIR)/$(GNUTAR_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  18. toolchain/patch-kernel.sh $(GNUTAR_DIR) package/tar/ tar*.patch
  19. touch $(GNUTAR_DIR)/.unpacked
  20. $(GNUTAR_DIR)/.configured: $(GNUTAR_DIR)/.unpacked
  21. (cd $(GNUTAR_DIR); rm -rf config.cache; \
  22. $(TARGET_CONFIGURE_OPTS) \
  23. CFLAGS="$(TARGET_CFLAGS)" \
  24. ./configure \
  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. --libexecdir=/usr/lib \
  33. --sysconfdir=/etc \
  34. --datadir=/usr/share \
  35. --localstatedir=/var \
  36. --mandir=/usr/man \
  37. --infodir=/usr/info \
  38. $(DISABLE_NLS) \
  39. $(DISABLE_LARGEFILE) \
  40. );
  41. touch $(GNUTAR_DIR)/.configured
  42. $(GNUTAR_DIR)/$(GNUTAR_BINARY): $(GNUTAR_DIR)/.configured
  43. $(MAKE) -C $(GNUTAR_DIR)
  44. # This stuff is needed to work around GNU make deficiencies
  45. tar-target_binary: $(GNUTAR_DIR)/$(GNUTAR_BINARY)
  46. @if [ -L $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY) ] ; then \
  47. rm -f $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY); fi;
  48. @if [ ! -f $(GNUTAR_DIR)/$(GNUTAR_BINARY) -o $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY) \
  49. -ot $(GNUTAR_DIR)/$(GNUTAR_BINARY) ] ; then \
  50. set -x; \
  51. rm -f $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY); \
  52. cp -a $(GNUTAR_DIR)/$(GNUTAR_BINARY) $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY); fi ;
  53. tar: uclibc tar-target_binary
  54. tar-clean:
  55. $(MAKE) DESTDIR=$(TARGET_DIR) -C $(GNUTAR_DIR) uninstall
  56. -$(MAKE) -C $(GNUTAR_DIR) clean
  57. tar-dirclean:
  58. rm -rf $(GNUTAR_DIR)
  59. #############################################################
  60. #
  61. # Toplevel Makefile options
  62. #
  63. #############################################################
  64. ifeq ($(strip $(BR2_PACKAGE_TAR)),y)
  65. TARGETS+=tar
  66. endif