mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-05-20 14:35:06 +02:00
e467705a9f
Make the util directory into its own library. This is done to avoid compiling code twice, once for the perf tool and once for the perf python module. For convenience: arch/common.c scripts/perl/Perf-Trace-Util/Context.c scripts/python/Perf-Trace-Util/Context.c are made part of this library. Signed-off-by: Ian Rogers <irogers@google.com> Reviewed-by: James Clark <james.clark@arm.com> Cc: Suzuki K Poulose <suzuki.poulose@arm.com> Cc: Kees Cook <keescook@chromium.org> Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: Albert Ou <aou@eecs.berkeley.edu> Cc: Nick Terrell <terrelln@fb.com> Cc: Gary Guo <gary@garyguo.net> Cc: Alex Gaynor <alex.gaynor@gmail.com> Cc: Boqun Feng <boqun.feng@gmail.com> Cc: Wedson Almeida Filho <wedsonaf@gmail.com> Cc: Ze Gao <zegao2021@gmail.com> Cc: Alice Ryhl <aliceryhl@google.com> Cc: Andrei Vagin <avagin@google.com> Cc: Yicong Yang <yangyicong@hisilicon.com> Cc: Jonathan Cameron <jonathan.cameron@huawei.com> Cc: Guo Ren <guoren@kernel.org> Cc: Miguel Ojeda <ojeda@kernel.org> Cc: Will Deacon <will@kernel.org> Cc: Mike Leach <mike.leach@linaro.org> Cc: Leo Yan <leo.yan@linux.dev> Cc: Oliver Upton <oliver.upton@linux.dev> Cc: John Garry <john.g.garry@oracle.com> Cc: Benno Lossin <benno.lossin@proton.me> Cc: Björn Roy Baron <bjorn3_gh@protonmail.com> Cc: Andreas Hindborg <a.hindborg@samsung.com> Cc: Paul Walmsley <paul.walmsley@sifive.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Link: https://lore.kernel.org/r/20240625214117.953777-7-irogers@google.com
407 lines
13 KiB
Python
407 lines
13 KiB
Python
include $(srctree)/tools/scripts/Makefile.include
|
|
include $(srctree)/tools/scripts/utilities.mak
|
|
|
|
perf-util-y += arm64-frame-pointer-unwind-support.o
|
|
perf-util-y += addr_location.o
|
|
perf-util-y += annotate.o
|
|
perf-util-y += block-info.o
|
|
perf-util-y += block-range.o
|
|
perf-util-y += build-id.o
|
|
perf-util-y += cacheline.o
|
|
perf-util-y += config.o
|
|
perf-util-y += copyfile.o
|
|
perf-util-y += ctype.o
|
|
perf-util-y += db-export.o
|
|
perf-util-y += disasm.o
|
|
perf-util-y += env.o
|
|
perf-util-y += event.o
|
|
perf-util-y += evlist.o
|
|
perf-util-y += sideband_evlist.o
|
|
perf-util-y += evsel.o
|
|
perf-util-y += evsel_fprintf.o
|
|
perf-util-y += perf_event_attr_fprintf.o
|
|
perf-util-y += evswitch.o
|
|
perf-util-y += find_bit.o
|
|
perf-util-y += get_current_dir_name.o
|
|
perf-util-y += levenshtein.o
|
|
perf-util-y += mmap.o
|
|
perf-util-y += memswap.o
|
|
perf-util-y += parse-events.o
|
|
perf-util-y += print-events.o
|
|
perf-util-y += tracepoint.o
|
|
perf-util-y += perf_regs.o
|
|
perf-util-y += perf-regs-arch/
|
|
perf-util-y += path.o
|
|
perf-util-y += print_binary.o
|
|
perf-util-y += print_insn.o
|
|
perf-util-y += rlimit.o
|
|
perf-util-y += argv_split.o
|
|
perf-util-y += rbtree.o
|
|
perf-util-y += libstring.o
|
|
perf-util-y += bitmap.o
|
|
perf-util-y += hweight.o
|
|
perf-util-y += smt.o
|
|
perf-util-y += strbuf.o
|
|
perf-util-y += string.o
|
|
perf-util-y += strlist.o
|
|
perf-util-y += strfilter.o
|
|
perf-util-y += top.o
|
|
perf-util-y += usage.o
|
|
perf-util-y += dso.o
|
|
perf-util-y += dsos.o
|
|
perf-util-y += symbol.o
|
|
perf-util-y += symbol_fprintf.o
|
|
perf-util-y += map_symbol.o
|
|
perf-util-y += color.o
|
|
perf-util-y += color_config.o
|
|
perf-util-y += metricgroup.o
|
|
perf-util-y += header.o
|
|
perf-util-y += callchain.o
|
|
perf-util-y += values.o
|
|
perf-util-y += debug.o
|
|
perf-util-y += fncache.o
|
|
perf-util-y += machine.o
|
|
perf-util-y += map.o
|
|
perf-util-y += maps.o
|
|
perf-util-y += pstack.o
|
|
perf-util-y += session.o
|
|
perf-util-y += sample-raw.o
|
|
perf-util-y += s390-sample-raw.o
|
|
perf-util-y += amd-sample-raw.o
|
|
perf-util-$(CONFIG_TRACE) += syscalltbl.o
|
|
perf-util-y += ordered-events.o
|
|
perf-util-y += namespaces.o
|
|
perf-util-y += comm.o
|
|
perf-util-y += thread.o
|
|
perf-util-y += threads.o
|
|
perf-util-y += thread_map.o
|
|
perf-util-y += parse-events-flex.o
|
|
perf-util-y += parse-events-bison.o
|
|
perf-util-y += pmu.o
|
|
perf-util-y += pmus.o
|
|
perf-util-y += pmu-flex.o
|
|
perf-util-y += pmu-bison.o
|
|
perf-util-y += svghelper.o
|
|
perf-util-$(CONFIG_LIBTRACEEVENT) += trace-event-info.o
|
|
perf-util-y += trace-event-scripting.o
|
|
perf-util-$(CONFIG_LIBTRACEEVENT) += trace-event.o
|
|
perf-util-$(CONFIG_LIBTRACEEVENT) += trace-event-parse.o
|
|
perf-util-$(CONFIG_LIBTRACEEVENT) += trace-event-read.o
|
|
perf-util-y += sort.o
|
|
perf-util-y += hist.o
|
|
perf-util-y += util.o
|
|
perf-util-y += cpumap.o
|
|
perf-util-y += affinity.o
|
|
perf-util-y += cputopo.o
|
|
perf-util-y += cgroup.o
|
|
perf-util-y += target.o
|
|
perf-util-y += rblist.o
|
|
perf-util-y += intlist.o
|
|
perf-util-y += vdso.o
|
|
perf-util-y += counts.o
|
|
perf-util-y += stat.o
|
|
perf-util-y += stat-shadow.o
|
|
perf-util-y += stat-display.o
|
|
perf-util-y += perf_api_probe.o
|
|
perf-util-y += record.o
|
|
perf-util-y += srcline.o
|
|
perf-util-y += srccode.o
|
|
perf-util-y += synthetic-events.o
|
|
perf-util-y += data.o
|
|
perf-util-y += tsc.o
|
|
perf-util-y += cloexec.o
|
|
perf-util-y += call-path.o
|
|
perf-util-y += rwsem.o
|
|
perf-util-y += thread-stack.o
|
|
perf-util-y += spark.o
|
|
perf-util-y += topdown.o
|
|
perf-util-y += iostat.o
|
|
perf-util-y += stream.o
|
|
perf-util-$(CONFIG_AUXTRACE) += auxtrace.o
|
|
perf-util-$(CONFIG_AUXTRACE) += intel-pt-decoder/
|
|
perf-util-$(CONFIG_AUXTRACE) += intel-pt.o
|
|
perf-util-$(CONFIG_AUXTRACE) += intel-bts.o
|
|
perf-util-$(CONFIG_AUXTRACE) += arm-spe.o
|
|
perf-util-$(CONFIG_AUXTRACE) += arm-spe-decoder/
|
|
perf-util-$(CONFIG_AUXTRACE) += hisi-ptt.o
|
|
perf-util-$(CONFIG_AUXTRACE) += hisi-ptt-decoder/
|
|
perf-util-$(CONFIG_AUXTRACE) += s390-cpumsf.o
|
|
|
|
ifdef CONFIG_LIBOPENCSD
|
|
perf-util-$(CONFIG_AUXTRACE) += cs-etm.o
|
|
perf-util-$(CONFIG_AUXTRACE) += cs-etm-decoder/
|
|
endif
|
|
perf-util-$(CONFIG_AUXTRACE) += cs-etm-base.o
|
|
|
|
perf-util-y += parse-branch-options.o
|
|
perf-util-y += dump-insn.o
|
|
perf-util-y += parse-regs-options.o
|
|
perf-util-y += parse-sublevel-options.o
|
|
perf-util-y += term.o
|
|
perf-util-y += help-unknown-cmd.o
|
|
perf-util-y += dlfilter.o
|
|
perf-util-y += mem-events.o
|
|
perf-util-y += mem-info.o
|
|
perf-util-y += vsprintf.o
|
|
perf-util-y += units.o
|
|
perf-util-y += time-utils.o
|
|
perf-util-y += expr-flex.o
|
|
perf-util-y += expr-bison.o
|
|
perf-util-y += expr.o
|
|
perf-util-y += branch.o
|
|
perf-util-y += mem2node.o
|
|
perf-util-y += clockid.o
|
|
perf-util-y += list_sort.o
|
|
perf-util-y += mutex.o
|
|
perf-util-y += sharded_mutex.o
|
|
|
|
perf-util-$(CONFIG_LIBBPF) += bpf_map.o
|
|
perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf_counter.o
|
|
perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf_counter_cgroup.o
|
|
perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf_ftrace.o
|
|
perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf_off_cpu.o
|
|
perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf-filter.o
|
|
perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf-filter-flex.o
|
|
perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf-filter-bison.o
|
|
|
|
ifeq ($(CONFIG_LIBTRACEEVENT),y)
|
|
perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf_lock_contention.o
|
|
endif
|
|
|
|
ifeq ($(CONFIG_LIBTRACEEVENT),y)
|
|
perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf_kwork.o
|
|
perf-util-$(CONFIG_PERF_BPF_SKEL) += bpf_kwork_top.o
|
|
endif
|
|
|
|
perf-util-$(CONFIG_LIBELF) += symbol-elf.o
|
|
perf-util-$(CONFIG_LIBELF) += probe-file.o
|
|
perf-util-$(CONFIG_LIBELF) += probe-event.o
|
|
|
|
ifdef CONFIG_LIBBPF_DYNAMIC
|
|
hashmap := 1
|
|
endif
|
|
ifndef CONFIG_LIBBPF
|
|
hashmap := 1
|
|
endif
|
|
|
|
ifdef hashmap
|
|
perf-util-y += hashmap.o
|
|
endif
|
|
|
|
ifndef CONFIG_LIBELF
|
|
perf-util-y += symbol-minimal.o
|
|
endif
|
|
|
|
ifndef CONFIG_SETNS
|
|
perf-util-y += setns.o
|
|
endif
|
|
|
|
perf-util-$(CONFIG_DWARF) += probe-finder.o
|
|
perf-util-$(CONFIG_DWARF) += dwarf-aux.o
|
|
perf-util-$(CONFIG_DWARF) += dwarf-regs.o
|
|
perf-util-$(CONFIG_DWARF) += debuginfo.o
|
|
perf-util-$(CONFIG_DWARF) += annotate-data.o
|
|
|
|
perf-util-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
|
|
perf-util-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind-local.o
|
|
perf-util-$(CONFIG_LIBUNWIND) += unwind-libunwind.o
|
|
perf-util-$(CONFIG_LIBUNWIND_X86) += libunwind/x86_32.o
|
|
perf-util-$(CONFIG_LIBUNWIND_AARCH64) += libunwind/arm64.o
|
|
|
|
ifeq ($(CONFIG_LIBTRACEEVENT),y)
|
|
perf-util-$(CONFIG_LIBBABELTRACE) += data-convert-bt.o
|
|
endif
|
|
|
|
perf-util-y += data-convert-json.o
|
|
|
|
perf-util-y += scripting-engines/
|
|
|
|
perf-util-$(CONFIG_ZLIB) += zlib.o
|
|
perf-util-$(CONFIG_LZMA) += lzma.o
|
|
perf-util-$(CONFIG_ZSTD) += zstd.o
|
|
|
|
perf-util-$(CONFIG_LIBCAP) += cap.o
|
|
|
|
perf-util-$(CONFIG_CXX_DEMANGLE) += demangle-cxx.o
|
|
perf-util-y += demangle-ocaml.o
|
|
perf-util-y += demangle-java.o
|
|
perf-util-y += demangle-rust.o
|
|
|
|
ifdef CONFIG_JITDUMP
|
|
perf-util-$(CONFIG_LIBELF) += jitdump.o
|
|
perf-util-$(CONFIG_LIBELF) += genelf.o
|
|
perf-util-$(CONFIG_DWARF) += genelf_debug.o
|
|
endif
|
|
|
|
perf-util-y += perf-hooks.o
|
|
|
|
perf-util-$(CONFIG_LIBBPF) += bpf-event.o
|
|
perf-util-$(CONFIG_LIBBPF) += bpf-utils.o
|
|
|
|
perf-util-$(CONFIG_LIBPFM4) += pfm.o
|
|
|
|
CFLAGS_config.o += -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
|
|
|
|
# avoid compiler warnings in 32-bit mode
|
|
CFLAGS_genelf_debug.o += -Wno-packed
|
|
|
|
$(OUTPUT)util/parse-events-flex.c $(OUTPUT)util/parse-events-flex.h: util/parse-events.l $(OUTPUT)util/parse-events-bison.c
|
|
$(call rule_mkdir)
|
|
$(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/parse-events-flex.c \
|
|
--header-file=$(OUTPUT)util/parse-events-flex.h $(PARSER_DEBUG_FLEX) $<
|
|
|
|
$(OUTPUT)util/parse-events-bison.c $(OUTPUT)util/parse-events-bison.h: util/parse-events.y
|
|
$(call rule_mkdir)
|
|
$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) $(BISON_FILE_PREFIX_MAP) $(BISON_FALLBACK_FLAGS) \
|
|
-o $(OUTPUT)util/parse-events-bison.c -p parse_events_
|
|
|
|
$(OUTPUT)util/expr-flex.c $(OUTPUT)util/expr-flex.h: util/expr.l $(OUTPUT)util/expr-bison.c
|
|
$(call rule_mkdir)
|
|
$(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/expr-flex.c \
|
|
--header-file=$(OUTPUT)util/expr-flex.h $(PARSER_DEBUG_FLEX) $<
|
|
|
|
$(OUTPUT)util/expr-bison.c $(OUTPUT)util/expr-bison.h: util/expr.y
|
|
$(call rule_mkdir)
|
|
$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) $(BISON_FILE_PREFIX_MAP) \
|
|
-o $(OUTPUT)util/expr-bison.c -p expr_
|
|
|
|
$(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-flex.h: util/pmu.l $(OUTPUT)util/pmu-bison.c
|
|
$(call rule_mkdir)
|
|
$(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/pmu-flex.c \
|
|
--header-file=$(OUTPUT)util/pmu-flex.h $(PARSER_DEBUG_FLEX) $<
|
|
|
|
$(OUTPUT)util/pmu-bison.c $(OUTPUT)util/pmu-bison.h: util/pmu.y
|
|
$(call rule_mkdir)
|
|
$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) $(BISON_FILE_PREFIX_MAP) \
|
|
-o $(OUTPUT)util/pmu-bison.c -p perf_pmu_
|
|
|
|
$(OUTPUT)util/bpf-filter-flex.c $(OUTPUT)util/bpf-filter-flex.h: util/bpf-filter.l $(OUTPUT)util/bpf-filter-bison.c
|
|
$(call rule_mkdir)
|
|
$(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/bpf-filter-flex.c \
|
|
--header-file=$(OUTPUT)util/bpf-filter-flex.h $(PARSER_DEBUG_FLEX) $<
|
|
|
|
$(OUTPUT)util/bpf-filter-bison.c $(OUTPUT)util/bpf-filter-bison.h: util/bpf-filter.y
|
|
$(call rule_mkdir)
|
|
$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) $(BISON_FILE_PREFIX_MAP) \
|
|
-o $(OUTPUT)util/bpf-filter-bison.c -p perf_bpf_filter_
|
|
|
|
FLEX_VERSION := $(shell $(FLEX) --version | cut -d' ' -f2)
|
|
|
|
FLEX_GE_260 := $(call version-ge3,$(FLEX_VERSION),2.6.0)
|
|
ifeq ($(FLEX_GE_260),1)
|
|
flex_flags := -Wno-redundant-decls -Wno-switch-default -Wno-unused-function -Wno-misleading-indentation
|
|
|
|
# Some newer clang and gcc version complain about this
|
|
# util/parse-events-bison.c:1317:9: error: variable 'parse_events_nerrs' set but not used [-Werror,-Wunused-but-set-variable]
|
|
# int yynerrs = 0;
|
|
|
|
flex_flags += -Wno-unused-but-set-variable
|
|
|
|
FLEX_LT_262 := $(call version-lt3,$(FLEX_VERSION),2.6.2)
|
|
ifeq ($(FLEX_LT_262),1)
|
|
flex_flags += -Wno-sign-compare
|
|
endif
|
|
else
|
|
flex_flags := -w
|
|
endif
|
|
|
|
# Some newer clang and gcc version complain about this
|
|
# util/parse-events-bison.c:1317:9: error: variable 'parse_events_nerrs' set but not used [-Werror,-Wunused-but-set-variable]
|
|
# int yynerrs = 0;
|
|
|
|
bison_flags := -DYYENABLE_NLS=0 -Wno-unused-but-set-variable
|
|
|
|
# Old clangs don't grok -Wno-unused-but-set-variable, remove it
|
|
ifeq ($(CC_NO_CLANG), 0)
|
|
CLANG_VERSION := $(shell $(CLANG) --version | head -1 | sed 's/.*clang version \([[:digit:]]\+.[[:digit:]]\+.[[:digit:]]\+\).*/\1/g')
|
|
ifeq ($(call version-lt3,$(CLANG_VERSION),13.0.0),1)
|
|
bison_flags := $(subst -Wno-unused-but-set-variable,,$(bison_flags))
|
|
flex_flags := $(subst -Wno-unused-but-set-variable,,$(flex_flags))
|
|
endif
|
|
endif
|
|
|
|
BISON_GE_382 := $(shell expr $(shell $(BISON) --version | grep bison | sed -e 's/.\+ \([0-9]\+\).\([0-9]\+\).\([0-9]\+\)/\1\2\3/g') \>\= 382)
|
|
ifeq ($(BISON_GE_382),1)
|
|
bison_flags += -Wno-switch-enum
|
|
else
|
|
bison_flags += -w
|
|
endif
|
|
|
|
BISON_LT_381 := $(shell expr $(shell $(BISON) --version | grep bison | sed -e 's/.\+ \([0-9]\+\).\([0-9]\+\).\([0-9]\+\)/\1\2\3/g') \< 381)
|
|
ifeq ($(BISON_LT_381),1)
|
|
bison_flags += -DYYNOMEM=YYABORT
|
|
endif
|
|
|
|
CFLAGS_parse-events-flex.o += $(flex_flags) -Wno-unused-label
|
|
CFLAGS_pmu-flex.o += $(flex_flags)
|
|
CFLAGS_expr-flex.o += $(flex_flags)
|
|
CFLAGS_bpf-filter-flex.o += $(flex_flags)
|
|
|
|
CFLAGS_parse-events-bison.o += $(bison_flags)
|
|
CFLAGS_pmu-bison.o += -DYYLTYPE_IS_TRIVIAL=0 $(bison_flags)
|
|
CFLAGS_expr-bison.o += -DYYLTYPE_IS_TRIVIAL=0 $(bison_flags)
|
|
CFLAGS_bpf-filter-bison.o += -DYYLTYPE_IS_TRIVIAL=0 $(bison_flags)
|
|
|
|
$(OUTPUT)util/parse-events.o: $(OUTPUT)util/parse-events-flex.c $(OUTPUT)util/parse-events-bison.c
|
|
$(OUTPUT)util/pmu.o: $(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-bison.c
|
|
$(OUTPUT)util/expr.o: $(OUTPUT)util/expr-flex.c $(OUTPUT)util/expr-bison.c
|
|
$(OUTPUT)util/bpf-filter.o: $(OUTPUT)util/bpf-filter-flex.c $(OUTPUT)util/bpf-filter-bison.c
|
|
|
|
CFLAGS_bitmap.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
|
|
CFLAGS_find_bit.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
|
|
CFLAGS_rbtree.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
|
|
CFLAGS_libstring.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
|
|
CFLAGS_hweight.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
|
|
CFLAGS_header.o += -include $(OUTPUT)PERF-VERSION-FILE
|
|
CFLAGS_arm-spe.o += -I$(srctree)/tools/arch/arm64/include/ -I$(OUTPUT)arch/arm64/include/generated/
|
|
|
|
$(OUTPUT)util/argv_split.o: ../lib/argv_split.c FORCE
|
|
$(call rule_mkdir)
|
|
$(call if_changed_dep,cc_o_c)
|
|
|
|
$(OUTPUT)util/bitmap.o: ../lib/bitmap.c FORCE
|
|
$(call rule_mkdir)
|
|
$(call if_changed_dep,cc_o_c)
|
|
|
|
$(OUTPUT)util/ctype.o: ../lib/ctype.c FORCE
|
|
$(call rule_mkdir)
|
|
$(call if_changed_dep,cc_o_c)
|
|
|
|
$(OUTPUT)util/find_bit.o: ../lib/find_bit.c FORCE
|
|
$(call rule_mkdir)
|
|
$(call if_changed_dep,cc_o_c)
|
|
|
|
$(OUTPUT)util/rbtree.o: ../lib/rbtree.c FORCE
|
|
$(call rule_mkdir)
|
|
$(call if_changed_dep,cc_o_c)
|
|
|
|
$(OUTPUT)util/libstring.o: ../lib/string.c FORCE
|
|
$(call rule_mkdir)
|
|
$(call if_changed_dep,cc_o_c)
|
|
|
|
$(OUTPUT)util/hweight.o: ../lib/hweight.c FORCE
|
|
$(call rule_mkdir)
|
|
$(call if_changed_dep,cc_o_c)
|
|
|
|
$(OUTPUT)util/vsprintf.o: ../lib/vsprintf.c FORCE
|
|
$(call rule_mkdir)
|
|
$(call if_changed_dep,cc_o_c)
|
|
|
|
$(OUTPUT)util/list_sort.o: ../lib/list_sort.c FORCE
|
|
$(call rule_mkdir)
|
|
$(call if_changed_dep,cc_o_c)
|
|
|
|
ifdef SHELLCHECK
|
|
SHELL_TESTS := generate-cmdlist.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 -a -S warning "$<" > $@ || (cat $@ && rm $@ && false)
|
|
|
|
perf-util-y += $(TEST_LOGS)
|