12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- ################################################################################
- #
- # rtla
- #
- ################################################################################
- LINUX_TOOLS += rtla
- RTLA_DEPENDENCIES = host-pkgconf libtracefs
- RTLA_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \
- CC=$(TARGET_CC) \
- EXTRA_CFLAGS="-D_GNU_SOURCE" \
- LDFLAGS="$(TARGET_LDFLAGS)" \
- PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig
- ifeq ($(BR2_TOOLCHAIN_HAS_SSP),)
- define RTLA_DISABLE_STACK_PROTECTOR
- $(SED) 's/-fstack-protector.* //' $(LINUX_DIR)/tools/tracing/rtla/Makefile
- endef
- endif
- define RTLA_LINUX_CONFIG_FIXUPS
- $(call KCONFIG_ENABLE_OPT,CONFIG_FTRACE)
- $(call KCONFIG_ENABLE_OPT,CONFIG_TIMERLAT_TRACER)
- $(call KCONFIG_ENABLE_OPT,CONFIG_HIST_TRIGGERS)
- endef
- define RTLA_BUILD_CMDS
- $(Q)if ! grep install $(LINUX_DIR)/tools/tracing/rtla/Makefile >/dev/null 2>&1 ; then \
- echo "Your kernel version is too old and does not implement the rtla tool." ; \
- echo "At least kernel 5.19 must be used." ; \
- exit 1 ; \
- fi
- $(RTLA_DISABLE_STACK_PROTECTOR)
- $(TARGET_MAKE_ENV) $(MAKE) $(RTLA_MAKE_OPTS) \
- -C $(LINUX_DIR)/tools/tracing rtla
- endef
- # make rtla_install build and install by default documentation using rst2man
- # but it's not available in Buildroot and we don't want manual files in target
- # folder so let's simply install the resulting rtla binary and create symlinks
- # like Linux does in its tools/tracing/rtla/Makefile
- define RTLA_INSTALL_TARGET_CMDS
- $(INSTALL) -m 0755 -D $(LINUX_DIR)/tools/tracing/rtla/rtla $(TARGET_DIR)/usr/bin
- ln -sf rtla $(TARGET_DIR)/usr/bin/osnoise
- ln -sf rtla $(TARGET_DIR)/usr/bin/timerlat
- # Check if hwnoise is provided or not
- if grep -q hwnoise $(LINUX_DIR)/tools/tracing/rtla/Makefile; then \
- ln -sf rtla $(TARGET_DIR)/usr/bin/hwnoise ; \
- fi
- endef
|