coreutils.mk 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #############################################################
  2. #
  3. # coreutils
  4. #
  5. #############################################################
  6. COREUTILS_SOURCE:=coreutils-4.5.3.tar.bz2
  7. COREUTILS_SITE:=ftp://alpha.gnu.org/gnu/coreutils/
  8. COREUTILS_CAT:=bzcat
  9. COREUTILS_DIR:=$(BUILD_DIR)/coreutils-4.5.3
  10. COREUTILS_BINARY:=src/cat
  11. COREUTILS_TARGET_BINARY:=bin/cat
  12. BIN_PROGS:=cat chgrp chmod chown cp date dd df dir echo false ln ls mkdir \
  13. mknod mv pwd rm rmdir vdir sleep stty sync touch true uname
  14. $(DL_DIR)/$(COREUTILS_SOURCE):
  15. $(WGET) -P $(DL_DIR) $(COREUTILS_SITE)/$(COREUTILS_SOURCE)
  16. coreutils-source: $(DL_DIR)/$(COREUTILS_SOURCE)
  17. $(COREUTILS_DIR)/.unpacked: $(DL_DIR)/$(COREUTILS_SOURCE)
  18. $(COREUTILS_CAT) $(DL_DIR)/$(COREUTILS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
  19. touch $(COREUTILS_DIR)/.unpacked
  20. $(COREUTILS_DIR)/.configured: $(COREUTILS_DIR)/.unpacked
  21. (cd $(COREUTILS_DIR); rm -rf config.cache; \
  22. PATH=$(STAGING_DIR)/bin:$$PATH CC=$(TARGET_CC1) \
  23. ./configure \
  24. --target=$(GNU_TARGET_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 $(COREUTILS_DIR)/.configured
  38. $(COREUTILS_DIR)/$(COREUTILS_BINARY): $(COREUTILS_DIR)/.configured
  39. $(MAKE) CC=$(TARGET_CC1) -C $(COREUTILS_DIR)
  40. $(TARGET_DIR)/$(COREUTILS_TARGET_BINARY): $(COREUTILS_DIR)/$(COREUTILS_BINARY)
  41. $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC1) -C $(COREUTILS_DIR) install
  42. # some things go in root rather than usr
  43. for f in $(BIN_PROGS); do \
  44. mv $(TARGET_DIR)/usr/bin/$$f $(TARGET_DIR)/bin/$$f; \
  45. done
  46. # link for archaic shells
  47. ln -fs test $(TARGET_DIR)/usr/bin/[
  48. # gnu thinks chroot is in bin, debian thinks it's in sbin
  49. mv $(TARGET_DIR)/usr/bin/chroot $(TARGET_DIR)/usr/sbin/chroot
  50. rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/junk
  51. coreutils: uclibc $(TARGET_DIR)/$(COREUTILS_TARGET_BINARY)
  52. coreutils-clean:
  53. $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC1) -C $(COREUTILS_DIR) uninstall
  54. -$(MAKE) -C $(COREUTILS_DIR) clean
  55. coreutils-dirclean:
  56. rm -rf $(COREUTILS_DIR)