tools/perf/Makefile.config

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

File Facts

System
Linux kernel
Corpus path
tools/perf/Makefile.config
Extension
.config
Size
42468 bytes
Lines
1335
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

ifeq ($(src-perf),)
src-perf := $(srctree)/tools/perf
endif

ifeq ($(obj-perf),)
obj-perf := $(OUTPUT)
endif

ifneq ($(obj-perf),)
obj-perf := $(abspath $(obj-perf))/
endif

$(shell printf "" > $(OUTPUT).config-detected)
detected     = $(shell echo "$(1)=y"       >> $(OUTPUT).config-detected)
detected_var = $(shell echo "$(1)=$($(1))" >> $(OUTPUT).config-detected)

CFLAGS := $(EXTRA_CFLAGS) $(filter-out -Wnested-externs,$(EXTRA_WARNINGS))
HOSTCFLAGS := $(filter-out -Wnested-externs,$(EXTRA_WARNINGS))

# This is required because the kernel is built with this and some of the code
# borrowed from kernel headers depends on it, e.g. put_unaligned_*().
CFLAGS += -fno-strict-aliasing

# Set target flag and options when using clang as compiler.
ifeq ($(CC_NO_CLANG), 0)
  CLANG_TARGET_FLAGS_arm	:= arm-linux-gnueabi
  CLANG_TARGET_FLAGS_arm64	:= aarch64-linux-gnu
  CLANG_TARGET_FLAGS_m68k	:= m68k-linux-gnu
  CLANG_TARGET_FLAGS_mips	:= mipsel-linux-gnu
  CLANG_TARGET_FLAGS_powerpc	:= powerpc64le-linux-gnu
  CLANG_TARGET_FLAGS_riscv	:= riscv64-linux-gnu
  CLANG_TARGET_FLAGS_s390	:= s390x-linux-gnu
  CLANG_TARGET_FLAGS_x86	:= x86_64-linux-gnu
  CLANG_TARGET_FLAGS_x86_64	:= x86_64-linux-gnu

  # Default to host architecture if ARCH is not explicitly given.
  ifeq ($(ARCH), $(HOSTARCH))
    CLANG_TARGET_FLAGS := $(shell $(CLANG) -print-target-triple)
  else
    CLANG_TARGET_FLAGS := $(CLANG_TARGET_FLAGS_$(ARCH))
  endif

  ifeq ($(CROSS_COMPILE),)
    ifeq ($(CLANG_TARGET_FLAGS),)
      $(error Specify CROSS_COMPILE or add CLANG_TARGET_FLAGS for $(ARCH))
    else
      CLANG_FLAGS += --target=$(CLANG_TARGET_FLAGS)
    endif # CLANG_TARGET_FLAGS
  else
    CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%))
  endif # CROSS_COMPILE

  CC := $(CLANG) $(CLANG_FLAGS) -fintegrated-as
  CXX := $(CXX) $(CLANG_FLAGS) -fintegrated-as

  # Enabled Wthread-safety analysis for clang builds.
  CFLAGS += -Wthread-safety
endif

include $(srctree)/tools/scripts/Makefile.arch

$(call detected_var,SRCARCH)

CFLAGS += -I$(OUTPUT)arch/$(SRCARCH)/include/generated

# Additional ARCH settings for ppc
ifeq ($(SRCARCH),powerpc)
  ifndef NO_LIBUNWIND

Annotation

Implementation Notes