1################################################################################
2#
3# trace-cmd
4#
5################################################################################
6
7TRACE_CMD_VERSION = 3.2
8TRACE_CMD_SOURCE = trace-cmd-v$(TRACE_CMD_VERSION).tar.gz
9TRACE_CMD_SITE = \
10	https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot
11TRACE_CMD_LICENSE = GPL-2.0, LGPL-2.1
12TRACE_CMD_LICENSE_FILES = COPYING COPYING.LIB LICENSES/GPL-2.0 LICENSES/LGPL-2.1
13
14TRACE_CMD_DEPENDENCIES = host-pkgconf libtraceevent libtracefs
15TRACE_CMD_MAKE_OPTS = prefix=/usr etcdir=/etc
16
17ifeq ($(BR2_PACKAGE_AUDIT),y)
18TRACE_CMD_DEPENDENCIES += audit
19endif
20
21ifeq ($(BR2_PACKAGE_PYTHON3),y)
22TRACE_CMD_DEPENDENCIES += python3 host-swig
23TRACE_CMD_MAKE_OPTS += PYTHON_VERS=python3
24else
25TRACE_CMD_MAKE_OPTS += NO_PYTHON=1
26endif
27
28# trace-cmd already defines _LARGEFILE64_SOURCE when necessary,
29# redefining it on the command line causes build problems.
30TRACE_CMD_CFLAGS = $(filter-out -D_LARGEFILE64_SOURCE,$(TARGET_CFLAGS))
31
32# Sparc64 needs -fPIC
33ifeq ($(BR2_sparc64),y)
34TRACE_CMD_CFLAGS += -fPIC
35endif
36
37TRACE_CMD_CFLAGS += $($(HOST_DIR)/bin/pkg-config --cflags libtracefs)
38
39# trace-cmd use CPPFLAGS to add some extra flags.
40# But like for CFLAGS, $(TARGET_CPPFLAGS) contains _LARGEFILE64_SOURCE
41# that causes build problems.
42TRACE_CMD_CPPFLAGS = $(filter-out -D_LARGEFILE64_SOURCE,$(TARGET_CPPFLAGS))
43
44define TRACE_CMD_BUILD_CMDS
45	$(TARGET_CONFIGURE_OPTS) \
46	CFLAGS="$(TRACE_CMD_CFLAGS)" \
47	CPPFLAGS="$(TRACE_CMD_CPPFLAGS)" \
48	$(MAKE) $(TRACE_CMD_MAKE_OPTS) -C $(@D)
49endef
50
51define TRACE_CMD_INSTALL_TARGET_CMDS
52	$(TARGET_CONFIGURE_OPTS) \
53	CFLAGS="$(TRACE_CMD_CFLAGS)" \
54	CPPFLAGS="$(TRACE_CMD_CPPFLAGS)" \
55	DESTDIR=$(TARGET_DIR) \
56	$(MAKE) $(TRACE_CMD_MAKE_OPTS) -C $(@D) install
57endef
58
59$(eval $(generic-package))
60