ltrace.mk 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #############################################################
  2. #
  3. # ltrace
  4. #
  5. #############################################################
  6. LTRACE_VERSION=0.5
  7. LTRACE_SOURCE=ltrace_$(LTRACE_VERSION).orig.tar.gz
  8. LTRACE_PATCH=ltrace_$(LTRACE_VERSION)-3.1.diff.gz
  9. LTRACE_SITE=$(BR2_DEBIAN_MIRROR)/debian/pool/main/l/ltrace
  10. LTRACE_DIR=$(BUILD_DIR)/ltrace-$(LTRACE_VERSION)
  11. LTRACE_BINARY=ltrace
  12. LTRACE_TARGET_BINARY=usr/bin/ltrace
  13. # ltrace uses arch=ppc for powerpc
  14. LTRACE_ARCH:=$(KERNEL_ARCH:powerpc=ppc)
  15. ifeq ("$(strip $(ARCH))","armeb")
  16. LTRACE_ARCH:=arm
  17. endif
  18. $(DL_DIR)/$(LTRACE_SOURCE):
  19. $(call DOWNLOAD,$(LTRACE_SITE),$(LTRACE_SOURCE))
  20. ifneq ($(LTRACE_PATCH),)
  21. LTRACE_PATCH_FILE:=$(DL_DIR)/$(LTRACE_PATCH)
  22. $(LTRACE_PATCH_FILE):
  23. $(call DOWNLOAD,$(LTRACE_SITE),$(LTRACE_PATCH))
  24. else
  25. LTRACE_PATCH_FILE:=
  26. endif
  27. $(LTRACE_DIR)/.patched: $(DL_DIR)/$(LTRACE_SOURCE) $(LTRACE_PATCH_FILE)
  28. $(ZCAT) $(DL_DIR)/$(LTRACE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  29. ifneq ($(LTRACE_PATCH),)
  30. $(ZCAT) $(LTRACE_PATCH_FILE) | patch -p1 -d $(LTRACE_DIR)
  31. endif
  32. toolchain/patch-kernel.sh $(LTRACE_DIR) package/ltrace ltrace\*.patch
  33. $(CONFIG_UPDATE) $(@D)
  34. chmod +x $(LTRACE_DIR)/configure
  35. touch $@
  36. $(LTRACE_DIR)/.configured: $(LTRACE_DIR)/.patched
  37. (cd $(LTRACE_DIR); rm -rf config.cache; \
  38. $(TARGET_CONFIGURE_OPTS) \
  39. $(TARGET_CONFIGURE_ARGS) \
  40. ./configure $(QUIET) \
  41. --target=$(GNU_TARGET_NAME) \
  42. --host=$(GNU_TARGET_NAME) \
  43. --build=$(GNU_HOST_NAME) \
  44. --prefix=/usr \
  45. --sysconfdir=/etc \
  46. $(DISABLE_LARGEFILE) \
  47. )
  48. touch $@
  49. $(LTRACE_DIR)/$(LTRACE_BINARY): $(LTRACE_DIR)/.configured
  50. $(MAKE) CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld ARCH=$(LTRACE_ARCH) \
  51. -C $(LTRACE_DIR)
  52. $(TARGET_DIR)/$(LTRACE_TARGET_BINARY): $(LTRACE_DIR)/$(LTRACE_BINARY)
  53. #$(MAKE) DESTDIR=$(TARGET_DIR) ARCH=$(LTRACE_ARCH) -C $(LTRACE_DIR) install
  54. $(INSTALL) -D $(LTRACE_DIR)/$(LTRACE_BINARY) $@
  55. ifeq ($(BR2_HAVE_DOCUMENTATION),y)
  56. $(INSTALL) -D $(LTRACE_DIR)/ltrace.1 \
  57. $(TARGET_DIR)/usr/share/man/man1/ltrace.1
  58. endif
  59. $(STRIPCMD) $(STRIP_STRIP_ALL) $@
  60. ltrace: libelf $(TARGET_DIR)/$(LTRACE_TARGET_BINARY)
  61. ltrace-source: $(DL_DIR)/$(LTRACE_SOURCE) $(LTRACE_PATCH_FILE)
  62. ltrace-clean:
  63. -$(MAKE) -C $(LTRACE_DIR) clean
  64. rm -f $(LTRACE_DIR)/$(LTRACE_BINARY) \
  65. $(TARGET_DIR)/usr/share/man/man1/ltrace.1*
  66. ltrace-dirclean:
  67. rm -rf $(LTRACE_DIR)
  68. #############################################################
  69. #
  70. # Toplevel Makefile options
  71. #
  72. #############################################################
  73. ifeq ($(BR2_PACKAGE_LTRACE),y)
  74. TARGETS+=ltrace
  75. endif