tools/tracing/rtla/Makefile.config

Source file repositories/reference/linux-study-clean/tools/tracing/rtla/Makefile.config

File Facts

System
Linux kernel
Corpus path
tools/tracing/rtla/Makefile.config
Extension
.config
Size
3438 bytes
Lines
117
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: build/configuration rule
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0-only

include $(srctree)/tools/scripts/utilities.mak

STOP_ERROR :=

LIBTRACEEVENT_MIN_VERSION = 1.5
LIBTRACEFS_MIN_VERSION = 1.6

ifndef ($(NO_LIBTRACEEVENT),1)
  ifeq ($(call get-executable,$(PKG_CONFIG)),)
    $(error Error: $(PKG_CONFIG) needed by libtraceevent/libtracefs is missing on this system, please install it)
  endif
endif

define lib_setup
  $(eval LIB_INCLUDES += $(shell sh -c "$(PKG_CONFIG) --cflags lib$(1)"))
  $(eval LDFLAGS += $(shell sh -c "$(PKG_CONFIG) --libs-only-L lib$(1)"))
  $(eval EXTLIBS += $(shell sh -c "$(PKG_CONFIG) --libs-only-l lib$(1)"))
endef

$(call feature_check,libtraceevent)
ifeq ($(feature-libtraceevent), 1)
  $(call detected,CONFIG_LIBTRACEEVENT)

  TEST = $(shell sh -c "$(PKG_CONFIG) --atleast-version $(LIBTRACEEVENT_MIN_VERSION) libtraceevent > /dev/null 2>&1 && echo y || echo n")
  ifeq ($(TEST),n)
    $(info libtraceevent version is too low, it must be at least $(LIBTRACEEVENT_MIN_VERSION))
    STOP_ERROR := 1
  endif

  $(call lib_setup,traceevent)
else
  STOP_ERROR := 1
  $(info libtraceevent is missing. Please install libtraceevent-dev/libtraceevent-devel)
endif

$(call feature_check,libtracefs)
ifeq ($(feature-libtracefs), 1)
  $(call detected,CONFIG_LIBTRACEFS)

  TEST = $(shell sh -c "$(PKG_CONFIG) --atleast-version $(LIBTRACEFS_MIN_VERSION) libtracefs > /dev/null 2>&1 && echo y || echo n")
  ifeq ($(TEST),n)
    $(info libtracefs version is too low, it must be at least $(LIBTRACEFS_MIN_VERSION))
    STOP_ERROR := 1
  endif

  $(call lib_setup,tracefs)
else
  STOP_ERROR := 1
  $(info libtracefs is missing. Please install libtracefs-dev/libtracefs-devel)
endif

$(call feature_check,libcpupower)
ifeq ($(feature-libcpupower), 1)
  $(call detected,CONFIG_LIBCPUPOWER)
  CFLAGS += -DHAVE_LIBCPUPOWER_SUPPORT
  EXTLIBS += -lcpupower
else
  $(info libcpupower is missing, building without --deepest-idle-state support.)
  $(info Please install libcpupower-dev/kernel-tools-libs-devel)
endif

$(call feature_check,libcheck)
ifeq ($(feature-libcheck), 1)
  $(call detected,CONFIG_LIBCHECK)
else
  $(info libcheck is missing, building without unit tests support.)
  $(info Please install check-devel/check)
endif

Annotation

Implementation Notes