fakeroot.mk 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. #############################################################
  2. #
  3. # fakeroot
  4. #
  5. #############################################################
  6. FAKEROOT_VERSION:=1.2.10
  7. FAKEROOT_SOURCE:=fakeroot_$(FAKEROOT_VERSION).tar.gz
  8. FAKEROOT_SITE:=http://ftp.debian.org/debian/pool/main/f/fakeroot
  9. FAKEROOT_CAT:=zcat
  10. FAKEROOT_DIR1:=$(TOOL_BUILD_DIR)/fakeroot-$(FAKEROOT_VERSION)
  11. FAKEROOT_DIR2:=$(BUILD_DIR)/fakeroot-$(FAKEROOT_VERSION)
  12. $(DL_DIR)/$(FAKEROOT_SOURCE):
  13. $(WGET) -P $(DL_DIR) $(FAKEROOT_SITE)/$(FAKEROOT_SOURCE)
  14. fakeroot-source: $(DL_DIR)/$(FAKEROOT_SOURCE)
  15. #############################################################
  16. #
  17. # build fakeroot for use on the host system
  18. #
  19. #############################################################
  20. $(FAKEROOT_DIR1)/.unpacked: $(DL_DIR)/$(FAKEROOT_SOURCE)
  21. $(FAKEROOT_CAT) $(DL_DIR)/$(FAKEROOT_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
  22. $(SED) "s,getopt --version,getopt --version 2>/dev/null," \
  23. $(FAKEROOT_DIR1)/scripts/fakeroot.in
  24. touch $(FAKEROOT_DIR1)/.unpacked
  25. $(FAKEROOT_DIR1)/.configured: $(FAKEROOT_DIR1)/.unpacked
  26. (cd $(FAKEROOT_DIR1); rm -rf config.cache; \
  27. ./configure \
  28. --prefix=/usr \
  29. );
  30. touch $(FAKEROOT_DIR1)/.configured
  31. $(FAKEROOT_DIR1)/faked: $(FAKEROOT_DIR1)/.configured
  32. $(MAKE) -C $(FAKEROOT_DIR1)
  33. $(STAGING_DIR)/usr/bin/fakeroot: $(FAKEROOT_DIR1)/faked
  34. $(MAKE) DESTDIR=$(STAGING_DIR) -C $(FAKEROOT_DIR1) install
  35. $(SED) 's,^PREFIX=.*,PREFIX=$(STAGING_DIR)/usr,g' $(STAGING_DIR)/usr/bin/fakeroot
  36. $(SED) 's,^BINDIR=.*,BINDIR=$(STAGING_DIR)/usr/bin,g' $(STAGING_DIR)/usr/bin/fakeroot
  37. $(SED) 's,^PATHS=.*,PATHS=$(FAKEROOT_DIR1)/.libs:/lib:/usr/lib,g' $(STAGING_DIR)/usr/bin/fakeroot
  38. host-fakeroot: uclibc $(STAGING_DIR)/usr/bin/fakeroot
  39. host-fakeroot-clean:
  40. $(MAKE) -C $(FAKEROOT_DIR1) clean
  41. host-fakeroot-dirclean:
  42. rm -rf $(FAKEROOT_DIR1)
  43. #############################################################
  44. #
  45. # build fakeroot for use on the target system
  46. #
  47. #############################################################
  48. $(FAKEROOT_DIR2)/.unpacked: $(DL_DIR)/$(FAKEROOT_SOURCE)
  49. $(FAKEROOT_CAT) $(DL_DIR)/$(FAKEROOT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  50. # If using busybox getopt, make it be quiet.
  51. $(SED) "s,getopt --version,getopt --version 2>/dev/null," \
  52. $(FAKEROOT_DIR2)/scripts/fakeroot.in
  53. touch $(FAKEROOT_DIR2)/.unpacked
  54. $(FAKEROOT_DIR2)/.configured: $(FAKEROOT_DIR2)/.unpacked
  55. (cd $(FAKEROOT_DIR2); rm -rf config.cache; \
  56. $(TARGET_CONFIGURE_OPTS) \
  57. ./configure \
  58. --target=$(GNU_TARGET_NAME) \
  59. --host=$(GNU_TARGET_NAME) \
  60. --build=$(GNU_HOST_NAME) \
  61. --prefix=/usr \
  62. --exec-prefix=/usr \
  63. --bindir=/usr/bin \
  64. --sbindir=/usr/sbin \
  65. --libdir=/usr/lib/libfakeroot \
  66. --sysconfdir=/etc \
  67. --datadir=/usr/share \
  68. --localstatedir=/var \
  69. --mandir=/usr/man \
  70. --infodir=/usr/info \
  71. $(DISABLE_NLS) \
  72. );
  73. touch $(FAKEROOT_DIR2)/.configured
  74. $(FAKEROOT_DIR2)/faked: $(FAKEROOT_DIR2)/.configured
  75. $(MAKE) CC=$(TARGET_CC) -C $(FAKEROOT_DIR2)
  76. $(TARGET_DIR)/usr/bin/fakeroot: $(FAKEROOT_DIR2)/faked
  77. $(MAKE) DESTDIR=$(TARGET_DIR) -C $(FAKEROOT_DIR2) install
  78. -mv $(TARGET_DIR)/usr/bin/$(ARCH)-linux-faked $(TARGET_DIR)/usr/bin/faked
  79. -mv $(TARGET_DIR)/usr/bin/$(ARCH)-linux-fakeroot $(TARGET_DIR)/usr/bin/fakeroot
  80. rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
  81. $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
  82. fakeroot: uclibc $(TARGET_DIR)/usr/bin/fakeroot
  83. fakeroot-clean:
  84. $(MAKE) -C $(FAKEROOT_DIR2) clean
  85. fakeroot-dirclean:
  86. rm -rf $(FAKEROOT_DIR2)
  87. #############################################################
  88. #
  89. # Toplevel Makefile options
  90. #
  91. #############################################################
  92. ifeq ($(strip $(BR2_PACKAGE_FAKEROOT)),y)
  93. TARGETS+=fakeroot
  94. endif