2
1

strace.mk 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #############################################################
  2. #
  3. # strace
  4. #
  5. #############################################################
  6. STRACE_VERSION:=4.5.15
  7. STRACE_SOURCE:=strace-$(STRACE_VERSION).tar.bz2
  8. STRACE_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/strace
  9. STRACE_CAT:=$(BZCAT)
  10. STRACE_DIR:=$(BUILD_DIR)/strace-$(STRACE_VERSION)
  11. BR2_STRACE_CFLAGS:=
  12. ifeq ($(BR2_LARGEFILE),)
  13. BR2_STRACE_CFLAGS+=-U_LARGEFILE64_SOURCE -U__USE_LARGEFILE64 -U__USE_FILE_OFFSET64
  14. endif
  15. $(DL_DIR)/$(STRACE_SOURCE):
  16. $(WGET) -P $(DL_DIR) $(STRACE_SITE)/$(STRACE_SOURCE)
  17. strace-source: $(DL_DIR)/$(STRACE_SOURCE)
  18. $(STRACE_DIR)/.unpacked: $(DL_DIR)/$(STRACE_SOURCE)
  19. $(STRACE_CAT) $(DL_DIR)/$(STRACE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  20. toolchain/patch-kernel.sh $(STRACE_DIR) package/strace strace\*.patch
  21. $(CONFIG_UPDATE) $(STRACE_DIR)
  22. touch $(STRACE_DIR)/.unpacked
  23. $(STRACE_DIR)/.configured: $(STRACE_DIR)/.unpacked
  24. (cd $(STRACE_DIR); rm -rf config.cache; \
  25. $(if $(BR_LARGEFILE),ac_cv_type_stat64=yes,ac_cv_type_stat64=no) \
  26. $(TARGET_CONFIGURE_OPTS) \
  27. $(TARGET_CONFIGURE_ARGS) \
  28. CFLAGS="$(TARGET_CFLAGS) $(BR2_STRACE_CFLAGS)" \
  29. aaa_ac_cv_header_linux_if_packet_h=yes \
  30. ./configure \
  31. --target=$(REAL_GNU_TARGET_NAME) \
  32. --host=$(REAL_GNU_TARGET_NAME) \
  33. --build=$(GNU_HOST_NAME) \
  34. --prefix=/usr \
  35. --exec-prefix=/usr \
  36. --bindir=/usr/bin \
  37. --sbindir=/usr/sbin \
  38. --libdir=/lib \
  39. --libexecdir=/usr/lib \
  40. --sysconfdir=/etc \
  41. --datadir=/usr/share \
  42. --localstatedir=/var \
  43. --mandir=/usr/man \
  44. --infodir=/usr/info \
  45. $(DISABLE_NLS) \
  46. $(DISABLE_LARGEFILE) \
  47. )
  48. touch $(STRACE_DIR)/.configured
  49. $(STRACE_DIR)/strace: $(STRACE_DIR)/.configured
  50. $(MAKE) CC=$(TARGET_CC) -C $(STRACE_DIR)
  51. $(TARGET_DIR)/usr/bin/strace: $(STRACE_DIR)/strace
  52. install -c $(STRACE_DIR)/strace $(TARGET_DIR)/usr/bin/strace
  53. $(STRIPCMD) $(TARGET_DIR)/usr/bin/strace > /dev/null 2>&1
  54. ifeq ($(strip $(BR2_CROSS_TOOLCHAIN_TARGET_UTILS)),y)
  55. mkdir -p $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/target_utils
  56. install -c $(TARGET_DIR)/usr/bin/strace \
  57. $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/target_utils/strace
  58. endif
  59. strace: uclibc $(TARGET_DIR)/usr/bin/strace
  60. strace-clean:
  61. rm -f $(TARGET_DIR)/usr/bin/strace
  62. $(MAKE) -C $(STRACE_DIR) clean
  63. strace-dirclean:
  64. rm -rf $(STRACE_DIR)
  65. #############################################################
  66. #
  67. # Toplevel Makefile options
  68. #
  69. #############################################################
  70. ifeq ($(strip $(BR2_PACKAGE_STRACE)),y)
  71. TARGETS+=strace
  72. endif