linux/tools/perf/Build

perf-bench-y += builtin-bench.o
perf-y += builtin-annotate.o
perf-y += builtin-config.o
perf-y += builtin-diff.o
perf-y += builtin-evlist.o
perf-y += builtin-ftrace.o
perf-y += builtin-help.o
perf-y += builtin-buildid-list.o
perf-y += builtin-buildid-cache.o
perf-y += builtin-kallsyms.o
perf-y += builtin-list.o
perf-y += builtin-record.o
perf-y += builtin-report.o
perf-y += builtin-stat.o
perf-y += builtin-top.o
perf-y += builtin-script.o
perf-y += builtin-kvm.o
perf-y += builtin-inject.o
perf-y += builtin-mem.o
perf-y += builtin-data.o
perf-y += builtin-version.o
perf-y += builtin-c2c.o
perf-y += builtin-daemon.o

perf-$(CONFIG_LIBTRACEEVENT) += builtin-kmem.o
perf-$(CONFIG_LIBTRACEEVENT) += builtin-kwork.o
perf-$(CONFIG_LIBTRACEEVENT) += builtin-lock.o
perf-$(CONFIG_LIBTRACEEVENT) += builtin-sched.o
perf-$(CONFIG_LIBTRACEEVENT) += builtin-timechart.o

ifeq ($(CONFIG_LIBTRACEEVENT),y)
  perf-$(CONFIG_TRACE) += builtin-trace.o
  perf-$(CONFIG_TRACE) += trace/beauty/
endif

perf-$(CONFIG_LIBELF) += builtin-probe.o

perf-bench-y += bench/
perf-test-y += tests/

perf-y += perf.o

paths += -DPERF_HTML_PATH="BUILD_STR($(htmldir_SQ))"
paths += -DPERF_INFO_PATH="BUILD_STR($(infodir_SQ))"
paths += -DPERF_MAN_PATH="BUILD_STR($(mandir_SQ))"

CFLAGS_builtin-help.o      += $(paths)
CFLAGS_builtin-timechart.o += $(paths)
CFLAGS_perf.o              += -DPERF_HTML_PATH="BUILD_STR($(htmldir_SQ))"	\
			      -DPERF_EXEC_PATH="BUILD_STR($(perfexecdir_SQ))"	\
			      -DPREFIX="BUILD_STR($(prefix_SQ))"
CFLAGS_builtin-trace.o	   += -DSTRACE_GROUPS_DIR="BUILD_STR($(STRACE_GROUPS_DIR_SQ))"
CFLAGS_builtin-report.o	   += -DTIPDIR="BUILD_STR($(tipdir_SQ))"
CFLAGS_builtin-report.o	   += -DDOCDIR="BUILD_STR($(srcdir_SQ)/Documentation)"

perf-util-y += util/
perf-util-y += arch/
perf-y += arch/
perf-test-y += arch/
perf-ui-y += ui/
perf-util-y += scripts/

gtk-y += ui/gtk/

ifdef SHELLCHECK
  SHELL_TESTS := $(wildcard *.sh)
  TEST_LOGS := $(SHELL_TESTS:%=%.shellcheck_log)
else
  SHELL_TESTS :=
  TEST_LOGS :=
endif

$(OUTPUT)%.shellcheck_log: %
	$(call rule_mkdir)
	$(Q)$(call echo-cmd,test)shellcheck -s bash -a -S warning "$<" > $@ || (cat $@ && rm $@ && false)

perf-y += $(TEST_LOGS)