file.mk 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. #############################################################
  2. #
  3. # file
  4. #
  5. #############################################################
  6. FILE_VER:=4.17
  7. FILE_SOURCE:=file-$(FILE_VER).tar.gz
  8. FILE_SITE:=ftp://ftp.astron.com/pub/file
  9. FILE_DIR1:=$(TOOL_BUILD_DIR)/file-$(FILE_VER)
  10. FILE_DIR2:=$(BUILD_DIR)/file-$(FILE_VER)
  11. FILE_CAT:=zcat
  12. FILE_BINARY:=src/file
  13. FILE_TARGET_BINARY:=usr/bin/file
  14. $(DL_DIR)/$(FILE_SOURCE):
  15. $(WGET) -P $(DL_DIR) $(FILE_SITE)/$(FILE_SOURCE)
  16. file-source: $(DL_DIR)/$(FILE_SOURCE)
  17. #############################################################
  18. #
  19. # build file for use on the host system
  20. #
  21. #############################################################
  22. $(FILE_DIR1)/.unpacked: $(DL_DIR)/$(FILE_SOURCE)
  23. $(FILE_CAT) $(DL_DIR)/$(FILE_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
  24. touch $(FILE_DIR1)/.unpacked
  25. $(FILE_DIR1)/.configured: $(FILE_DIR1)/.unpacked
  26. (cd $(FILE_DIR1); rm -rf config.cache; \
  27. ./configure \
  28. --prefix=$(FILE_DIR1)/install \
  29. );
  30. touch $(FILE_DIR1)/.configured
  31. $(TOOL_BUILD_DIR)/bin/file: $(FILE_DIR1)/.configured
  32. $(MAKE) -C $(FILE_DIR1) install
  33. ln -sf $(FILE_DIR1)/install/bin/file $(TOOL_BUILD_DIR)/bin/file
  34. host-file: $(TOOL_BUILD_DIR)/bin/file
  35. host-file-clean:
  36. $(MAKE) -C $(FILE_DIR1) clean
  37. host-file-dirclean:
  38. rm -rf $(FILE_DIR1)
  39. #############################################################
  40. #
  41. # build file for use on the target system
  42. #
  43. #############################################################
  44. file-unpacked: $(FILE_DIR2)/.unpacked
  45. $(FILE_DIR2)/.unpacked: $(DL_DIR)/$(FILE_SOURCE)
  46. $(FILE_CAT) $(DL_DIR)/$(FILE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  47. toolchain/patch-kernel.sh $(FILE_DIR2) package/file/ file\*.patch
  48. touch $(FILE_DIR2)/.unpacked
  49. $(FILE_DIR2)/.configured: $(FILE_DIR2)/.unpacked
  50. (cd $(FILE_DIR2); rm -rf config.cache; \
  51. $(TARGET_CONFIGURE_OPTS) \
  52. CFLAGS="$(TARGET_CFLAGS)" \
  53. ./configure \
  54. --target=$(GNU_TARGET_NAME) \
  55. --host=$(GNU_TARGET_NAME) \
  56. --build=$(GNU_HOST_NAME) \
  57. --prefix=/usr \
  58. --exec-prefix=/usr \
  59. --bindir=/usr/bin \
  60. --sbindir=/usr/sbin \
  61. --libexecdir=/usr/lib \
  62. --sysconfdir=/etc \
  63. --datadir=/usr/share/misc \
  64. --localstatedir=/var \
  65. --mandir=/usr/man \
  66. --infodir=/usr/info \
  67. $(DISABLE_NLS) \
  68. $(DISABLE_LARGEFILE) \
  69. --enable-static \
  70. --disable-fsect-man5 \
  71. );
  72. touch $(FILE_DIR2)/.configured
  73. $(FILE_DIR2)/$(FILE_BINARY): $(FILE_DIR2)/.configured $(TOOL_BUILD_DIR)/bin/file
  74. $(MAKE) $(TARGET_CONFIGURE_OPTS) LDFLAGS="-static" -C $(FILE_DIR2)
  75. $(TARGET_DIR)/$(FILE_TARGET_BINARY): $(FILE_DIR2)/$(FILE_BINARY)
  76. $(MAKE) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) -C $(FILE_DIR2) install
  77. -($(STRIP) $(TARGET_DIR)/usr/lib/libmagic.so.*.* > /dev/null 2>&1)
  78. rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
  79. $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
  80. file: zlib uclibc $(TARGET_DIR)/$(FILE_TARGET_BINARY)
  81. file-clean:
  82. $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(FILE_DIR2) uninstall
  83. -$(MAKE) -C $(FILE_DIR2) clean
  84. file-dirclean:
  85. rm -rf $(FILE_DIR2)
  86. #############################################################
  87. #
  88. # Toplevel Makefile options
  89. #
  90. #############################################################
  91. ifeq ($(strip $(BR2_PACKAGE_FILE)),y)
  92. TARGETS+=file
  93. endif