improve clean targets
[buildroot.git] / package / ltrace / ltrace.mk
blobc3ff7c42ff1b3ac9fc693e70db411dc255bbdc93
1 #############################################################
3 # ltrace
5 #############################################################
6 LTRACE_VERSION=0.5
7 LTRACE_SOURCE=ltrace_$(LTRACE_VERSION).orig.tar.gz
8 LTRACE_PATCH=ltrace_$(LTRACE_VERSION)-3.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
14 LTRACE_ARCH:=$(KERNEL_ARCH)
15 ifeq ("$(strip $(ARCH))","armeb")
16 LTRACE_ARCH:=arm
17 endif
19 $(DL_DIR)/$(LTRACE_SOURCE):
20 $(WGET) -P $(DL_DIR) $(LTRACE_SITE)/$(LTRACE_SOURCE)
22 ifneq ($(LTRACE_PATCH),)
23 LTRACE_PATCH_FILE:=$(DL_DIR)/$(LTRACE_PATCH)
24 $(LTRACE_PATCH_FILE):
25 $(WGET) -P $(DL_DIR) $(LTRACE_SITE)/$(LTRACE_PATCH)
27 else
28 LTRACE_PATCH_FILE:=
29 endif
31 $(LTRACE_DIR)/.patched: $(DL_DIR)/$(LTRACE_SOURCE) $(LTRACE_PATCH_FILE)
32 $(ZCAT) $(DL_DIR)/$(LTRACE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
33 ifneq ($(LTRACE_PATCH),)
34 $(ZCAT) $(LTRACE_PATCH_FILE) | patch -p1 -d $(LTRACE_DIR)
35 endif
36 toolchain/patch-kernel.sh $(LTRACE_DIR) package/ltrace ltrace\*.patch
37 $(CONFIG_UPDATE) $(@D)
38 chmod +x $(LTRACE_DIR)/configure
39 ln -sf linux-gnu $(LTRACE_DIR)/sysdeps/linux-uclibc
40 touch $@
42 $(LTRACE_DIR)/.configured: $(LTRACE_DIR)/.patched
43 (cd $(LTRACE_DIR); rm -rf config.cache; \
44 $(AUTO_CONFIGURE_TARGET) \
45 CPPFLAGS="-DUSE_DEMANGLE" \
46 --prefix=/usr \
47 --sysconfdir=/etc \
48 $(DISABLE_LARGEFILE) \
50 touch $@
52 $(LTRACE_DIR)/$(LTRACE_BINARY): $(LTRACE_DIR)/.configured
53 $(MAKE) ARCH=$(LTRACE_ARCH) \
54 -C $(LTRACE_DIR)
56 $(TARGET_DIR)/$(LTRACE_TARGET_BINARY): $(LTRACE_DIR)/$(LTRACE_BINARY)
57 #$(MAKE) DESTDIR=$(TARGET_DIR) ARCH=$(LTRACE_ARCH) -C $(LTRACE_DIR) install
58 $(INSTALL) -D $(LTRACE_DIR)/$(LTRACE_BINARY) $@
59 ifeq ($(BR2_HAVE_MANPAGES),y)
60 $(INSTALL) -D $(LTRACE_DIR)/ltrace.1 \
61 $(TARGET_DIR)/usr/share/man/man1/ltrace.1
62 endif
63 $(STRIPCMD) $(STRIP_STRIP_ALL) $@
65 ltrace: uclibc libelf $(TARGET_DIR)/$(LTRACE_TARGET_BINARY)
67 ltrace-source: $(DL_DIR)/$(LTRACE_SOURCE) $(LTRACE_PATCH_FILE)
69 ltrace-clean:
70 -$(MAKE) -C $(LTRACE_DIR) clean
71 rm -f $(LTRACE_DIR)/$(LTRACE_BINARY) \
72 $(TARGET_DIR)/usr/share/man/man1/ltrace.1*
74 ltrace-dirclean:
75 rm -rf $(LTRACE_DIR)
77 #############################################################
79 # Toplevel Makefile options
81 #############################################################
82 ifeq ($(BR2_PACKAGE_LTRACE),y)
83 TARGETS+=ltrace
84 endif