flex.mk 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. #############################################################
  2. #
  3. # flex
  4. #
  5. #############################################################
  6. FLEX_SOURCE:=flex_2.5.4a.orig.tar.gz
  7. FLEX_PATCH:=flex_2.5.4a-24.diff.gz
  8. FLEX_SITE:=http://ftp.debian.org/debian/pool/main/f/flex
  9. FLEX_DIR:=$(BUILD_DIR)/flex-2.5.4
  10. FLEX_CAT:=zcat
  11. FLEX_BINARY:=flex
  12. FLEX_TARGET_BINARY:=usr/bin/flex
  13. $(DL_DIR)/$(FLEX_SOURCE):
  14. $(WGET) -P $(DL_DIR) $(FLEX_SITE)/$(FLEX_SOURCE)
  15. $(DL_DIR)/$(FLEX_PATCH):
  16. $(WGET) -P $(DL_DIR) $(FLEX_SITE)/$(FLEX_PATCH)
  17. flex-source: $(DL_DIR)/$(FLEX_SOURCE) $(DL_DIR)/$(FLEX_PATCH)
  18. $(FLEX_DIR)/.unpacked: $(DL_DIR)/$(FLEX_SOURCE) $(DL_DIR)/$(FLEX_PATCH)
  19. $(FLEX_CAT) $(DL_DIR)/$(FLEX_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  20. #toolchain/patch-kernel.sh $(FLEX_DIR) $(DL_DIR) $(FLEX_PATCH)
  21. touch $(FLEX_DIR)/.unpacked
  22. $(FLEX_DIR)/.configured: $(FLEX_DIR)/.unpacked
  23. (cd $(FLEX_DIR); autoconf; rm -rf config.cache; \
  24. $(TARGET_CONFIGURE_OPTS) \
  25. CFLAGS="$(TARGET_CFLAGS)" \
  26. ./configure \
  27. --target=$(GNU_TARGET_NAME) \
  28. --host=$(GNU_TARGET_NAME) \
  29. --build=$(GNU_HOST_NAME) \
  30. --prefix=/usr \
  31. --exec-prefix=/usr \
  32. --bindir=/usr/bin \
  33. --sbindir=/usr/sbin \
  34. --libexecdir=/usr/lib \
  35. --sysconfdir=/etc \
  36. --datadir=/usr/share \
  37. --localstatedir=/var \
  38. --mandir=/usr/man \
  39. --infodir=/usr/info \
  40. $(DISABLE_NLS) \
  41. $(DISABLE_LARGEFILE) \
  42. );
  43. touch $(FLEX_DIR)/.configured
  44. $(FLEX_DIR)/$(FLEX_BINARY): $(FLEX_DIR)/.configured
  45. $(MAKE) -C $(FLEX_DIR)
  46. $(TARGET_DIR)/$(FLEX_TARGET_BINARY): $(FLEX_DIR)/$(FLEX_BINARY)
  47. $(MAKE1) \
  48. prefix=$(TARGET_DIR)/usr \
  49. exec_prefix=$(TARGET_DIR)/usr \
  50. bindir=$(TARGET_DIR)/usr/bin \
  51. sbindir=$(TARGET_DIR)/usr/sbin \
  52. libexecdir=$(TARGET_DIR)/usr/lib \
  53. datadir=$(TARGET_DIR)/usr/share \
  54. sysconfdir=$(TARGET_DIR)/etc \
  55. sharedstatedir=$(TARGET_DIR)/usr/com \
  56. localstatedir=$(TARGET_DIR)/var \
  57. libdir=$(TARGET_DIR)/usr/lib \
  58. infodir=$(TARGET_DIR)/usr/info \
  59. mandir=$(TARGET_DIR)/usr/man \
  60. includedir=$(TARGET_DIR)/usr/include \
  61. -C $(FLEX_DIR) install
  62. rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
  63. $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
  64. (cd $(TARGET_DIR)/usr/bin; ln -snf flex lex)
  65. flex: uclibc $(TARGET_DIR)/$(FLEX_TARGET_BINARY)
  66. flex-clean:
  67. $(MAKE) \
  68. prefix=$(TARGET_DIR)/usr \
  69. exec_prefix=$(TARGET_DIR)/usr \
  70. bindir=$(TARGET_DIR)/usr/bin \
  71. sbindir=$(TARGET_DIR)/usr/sbin \
  72. libexecdir=$(TARGET_DIR)/usr/lib \
  73. datadir=$(TARGET_DIR)/usr/share \
  74. sysconfdir=$(TARGET_DIR)/etc \
  75. sharedstatedir=$(TARGET_DIR)/usr/com \
  76. localstatedir=$(TARGET_DIR)/var \
  77. libdir=$(TARGET_DIR)/usr/lib \
  78. infodir=$(TARGET_DIR)/usr/info \
  79. mandir=$(TARGET_DIR)/usr/man \
  80. includedir=$(TARGET_DIR)/usr/include \
  81. -C $(FLEX_DIR) uninstall
  82. rm -f $(TARGET_DIR)/usr/bin/lex
  83. -$(MAKE) -C $(FLEX_DIR) clean
  84. flex-dirclean:
  85. rm -rf $(FLEX_DIR)
  86. #############################################################
  87. #
  88. # Toplevel Makefile options
  89. #
  90. #############################################################
  91. ifeq ($(strip $(BR2_PACKAGE_FLEX)),y)
  92. TARGETS+=flex
  93. endif