valgrind.mk 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #############################################################
  2. #
  3. # valgrind
  4. #
  5. #############################################################
  6. VALGRIND_VERSION=3.2.3
  7. VALGRIND_SITE:=http://valgrind.org/downloads/
  8. VALGRIND_DIR:=$(BUILD_DIR)/valgrind-$(VALGRIND_VERSION)
  9. VALGRIND_SOURCE:=valgrind-$(VALGRIND_VERSION).tar.bz2
  10. VALGRIND_CAT:=$(BZCAT)
  11. $(DL_DIR)/$(VALGRIND_SOURCE):
  12. $(WGET) -P $(DL_DIR) $(VALGRIND_SITE)/$(VALGRIND_SOURCE)
  13. $(VALGRIND_DIR)/.unpacked: $(DL_DIR)/$(VALGRIND_SOURCE)
  14. $(VALGRIND_CAT) $(DL_DIR)/$(VALGRIND_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  15. touch $(VALGRIND_DIR)/.unpacked
  16. $(VALGRIND_DIR)/.patched: $(VALGRIND_DIR)/.unpacked
  17. toolchain/patch-kernel.sh $(VALGRIND_DIR) package/valgrind/ valgrind\*.patch
  18. touch $(VALGRIND_DIR)/.patched
  19. $(VALGRIND_DIR)/.configured: $(VALGRIND_DIR)/.patched
  20. (cd $(VALGRIND_DIR); rm -rf config.cache; \
  21. $(TARGET_CONFIGURE_OPTS) \
  22. $(TARGET_CONFIGURE_ARGS) \
  23. ./configure \
  24. --target=$(GNU_TARGET_NAME) \
  25. --host=$(GNU_TARGET_NAME) \
  26. --build=$(GNU_HOST_NAME) \
  27. --prefix=/usr \
  28. $(DISABLE_NLS) \
  29. --without-uiout --disable-valgrindmi \
  30. --disable-tui --disable-valgrindtk \
  31. --without-x --without-included-gettext \
  32. --disable-tls \
  33. )
  34. touch $(VALGRIND_DIR)/.configured
  35. $(VALGRIND_DIR)/none/vgskin_none.so: $(VALGRIND_DIR)/.configured
  36. $(MAKE) -C $(VALGRIND_DIR)
  37. -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(VALGRIND_DIR)/*.so*
  38. touch -c $(VALGRIND_DIR)/none/vgskin_none.so
  39. $(TARGET_DIR)/usr/bin/valgrind: $(VALGRIND_DIR)/none/vgskin_none.so
  40. $(MAKE) \
  41. prefix=$(TARGET_DIR)/usr \
  42. exec_prefix=$(TARGET_DIR)/usr \
  43. bindir=$(TARGET_DIR)/usr/bin \
  44. sbindir=$(TARGET_DIR)/usr/sbin \
  45. libexecdir=$(TARGET_DIR)/usr/lib \
  46. datadir=$(TARGET_DIR)/usr/share \
  47. sysconfdir=$(TARGET_DIR)/etc \
  48. sharedstatedir=$(TARGET_DIR)/usr/com \
  49. localstatedir=$(TARGET_DIR)/var \
  50. libdir=$(TARGET_DIR)/usr/lib \
  51. infodir=$(TARGET_DIR)/usr/info \
  52. mandir=$(TARGET_DIR)/usr/man \
  53. includedir=$(TARGET_DIR)/usr/include \
  54. -C $(VALGRIND_DIR) install
  55. mv $(TARGET_DIR)/usr/bin/valgrind $(TARGET_DIR)/usr/bin/valgrind.bin
  56. cp package/valgrind/uclibc.supp $(TARGET_DIR)/usr/lib/valgrind/
  57. cp package/valgrind/valgrind.sh $(TARGET_DIR)/usr/bin/valgrind
  58. chmod a+x $(TARGET_DIR)/usr/bin/valgrind
  59. rm -rf $(TARGET_DIR)/usr/share/doc/valgrind
  60. #mkdir -p $(TARGET_DIR)/etc/default
  61. #cp $(VALGRIND_DIR)/valgrind.default $(TARGET_DIR)/etc/default/valgrind
  62. #mkdir -p $(TARGET_DIR)/usr/lib/valgrind
  63. #cp $(VALGRIND_DIR)/woody.supp $(TARGET_DIR)/usr/lib/valgrind/
  64. touch -c $(TARGET_DIR)/usr/bin/valgrind
  65. valgrind: $(TARGET_DIR)/usr/bin/valgrind
  66. valgrind-source: $(DL_DIR)/$(VALGRIND_SOURCE)
  67. valgrind-clean:
  68. $(MAKE) -C $(VALGRIND_DIR) clean
  69. valgrind-dirclean:
  70. rm -rf $(VALGRIND_DIR)
  71. #############################################################
  72. #
  73. # Toplevel Makefile options
  74. #
  75. #############################################################
  76. ifeq ($(strip $(BR2_PACKAGE_VALGRIND)),y)
  77. TARGETS+=valgrind
  78. endif