18c2ecf20Sopenharmony_ciperf-y += annotate.o
28c2ecf20Sopenharmony_ciperf-y += block-info.o
38c2ecf20Sopenharmony_ciperf-y += block-range.o
48c2ecf20Sopenharmony_ciperf-y += build-id.o
58c2ecf20Sopenharmony_ciperf-y += cacheline.o
68c2ecf20Sopenharmony_ciperf-y += config.o
78c2ecf20Sopenharmony_ciperf-y += copyfile.o
88c2ecf20Sopenharmony_ciperf-y += ctype.o
98c2ecf20Sopenharmony_ciperf-y += db-export.o
108c2ecf20Sopenharmony_ciperf-y += env.o
118c2ecf20Sopenharmony_ciperf-y += event.o
128c2ecf20Sopenharmony_ciperf-y += evlist.o
138c2ecf20Sopenharmony_ciperf-y += sideband_evlist.o
148c2ecf20Sopenharmony_ciperf-y += evsel.o
158c2ecf20Sopenharmony_ciperf-y += evsel_fprintf.o
168c2ecf20Sopenharmony_ciperf-y += perf_event_attr_fprintf.o
178c2ecf20Sopenharmony_ciperf-y += evswitch.o
188c2ecf20Sopenharmony_ciperf-y += find_bit.o
198c2ecf20Sopenharmony_ciperf-y += get_current_dir_name.o
208c2ecf20Sopenharmony_ciperf-y += kallsyms.o
218c2ecf20Sopenharmony_ciperf-y += levenshtein.o
228c2ecf20Sopenharmony_ciperf-y += llvm-utils.o
238c2ecf20Sopenharmony_ciperf-y += mmap.o
248c2ecf20Sopenharmony_ciperf-y += memswap.o
258c2ecf20Sopenharmony_ciperf-y += parse-events.o
268c2ecf20Sopenharmony_ciperf-y += perf_regs.o
278c2ecf20Sopenharmony_ciperf-y += path.o
288c2ecf20Sopenharmony_ciperf-y += print_binary.o
298c2ecf20Sopenharmony_ciperf-y += rlimit.o
308c2ecf20Sopenharmony_ciperf-y += argv_split.o
318c2ecf20Sopenharmony_ciperf-y += rbtree.o
328c2ecf20Sopenharmony_ciperf-y += libstring.o
338c2ecf20Sopenharmony_ciperf-y += bitmap.o
348c2ecf20Sopenharmony_ciperf-y += hweight.o
358c2ecf20Sopenharmony_ciperf-y += smt.o
368c2ecf20Sopenharmony_ciperf-y += strbuf.o
378c2ecf20Sopenharmony_ciperf-y += string.o
388c2ecf20Sopenharmony_ciperf-y += strlist.o
398c2ecf20Sopenharmony_ciperf-y += strfilter.o
408c2ecf20Sopenharmony_ciperf-y += top.o
418c2ecf20Sopenharmony_ciperf-y += usage.o
428c2ecf20Sopenharmony_ciperf-y += dso.o
438c2ecf20Sopenharmony_ciperf-y += dsos.o
448c2ecf20Sopenharmony_ciperf-y += symbol.o
458c2ecf20Sopenharmony_ciperf-y += symbol_fprintf.o
468c2ecf20Sopenharmony_ciperf-y += color.o
478c2ecf20Sopenharmony_ciperf-y += color_config.o
488c2ecf20Sopenharmony_ciperf-y += metricgroup.o
498c2ecf20Sopenharmony_ciperf-y += header.o
508c2ecf20Sopenharmony_ciperf-y += callchain.o
518c2ecf20Sopenharmony_ciperf-y += values.o
528c2ecf20Sopenharmony_ciperf-y += debug.o
538c2ecf20Sopenharmony_ciperf-y += fncache.o
548c2ecf20Sopenharmony_ciperf-y += machine.o
558c2ecf20Sopenharmony_ciperf-y += map.o
568c2ecf20Sopenharmony_ciperf-y += pstack.o
578c2ecf20Sopenharmony_ciperf-y += session.o
588c2ecf20Sopenharmony_ciperf-y += sample-raw.o
598c2ecf20Sopenharmony_ciperf-y += s390-sample-raw.o
608c2ecf20Sopenharmony_ciperf-$(CONFIG_TRACE) += syscalltbl.o
618c2ecf20Sopenharmony_ciperf-y += ordered-events.o
628c2ecf20Sopenharmony_ciperf-y += namespaces.o
638c2ecf20Sopenharmony_ciperf-y += comm.o
648c2ecf20Sopenharmony_ciperf-y += thread.o
658c2ecf20Sopenharmony_ciperf-y += thread_map.o
668c2ecf20Sopenharmony_ciperf-y += trace-event-parse.o
678c2ecf20Sopenharmony_ciperf-y += parse-events-flex.o
688c2ecf20Sopenharmony_ciperf-y += parse-events-bison.o
698c2ecf20Sopenharmony_ciperf-y += pmu.o
708c2ecf20Sopenharmony_ciperf-y += pmu-flex.o
718c2ecf20Sopenharmony_ciperf-y += pmu-bison.o
728c2ecf20Sopenharmony_ciperf-y += trace-event-read.o
738c2ecf20Sopenharmony_ciperf-y += trace-event-info.o
748c2ecf20Sopenharmony_ciperf-y += trace-event-scripting.o
758c2ecf20Sopenharmony_ciperf-y += trace-event.o
768c2ecf20Sopenharmony_ciperf-y += svghelper.o
778c2ecf20Sopenharmony_ciperf-y += sort.o
788c2ecf20Sopenharmony_ciperf-y += hist.o
798c2ecf20Sopenharmony_ciperf-y += util.o
808c2ecf20Sopenharmony_ciperf-y += cpumap.o
818c2ecf20Sopenharmony_ciperf-y += affinity.o
828c2ecf20Sopenharmony_ciperf-y += cputopo.o
838c2ecf20Sopenharmony_ciperf-y += cgroup.o
848c2ecf20Sopenharmony_ciperf-y += target.o
858c2ecf20Sopenharmony_ciperf-y += rblist.o
868c2ecf20Sopenharmony_ciperf-y += intlist.o
878c2ecf20Sopenharmony_ciperf-y += vdso.o
888c2ecf20Sopenharmony_ciperf-y += counts.o
898c2ecf20Sopenharmony_ciperf-y += stat.o
908c2ecf20Sopenharmony_ciperf-y += stat-shadow.o
918c2ecf20Sopenharmony_ciperf-y += stat-display.o
928c2ecf20Sopenharmony_ciperf-y += perf_api_probe.o
938c2ecf20Sopenharmony_ciperf-y += record.o
948c2ecf20Sopenharmony_ciperf-y += srcline.o
958c2ecf20Sopenharmony_ciperf-y += srccode.o
968c2ecf20Sopenharmony_ciperf-y += synthetic-events.o
978c2ecf20Sopenharmony_ciperf-y += data.o
988c2ecf20Sopenharmony_ciperf-y += tsc.o
998c2ecf20Sopenharmony_ciperf-y += cloexec.o
1008c2ecf20Sopenharmony_ciperf-y += call-path.o
1018c2ecf20Sopenharmony_ciperf-y += rwsem.o
1028c2ecf20Sopenharmony_ciperf-y += thread-stack.o
1038c2ecf20Sopenharmony_ciperf-y += spark.o
1048c2ecf20Sopenharmony_ciperf-y += topdown.o
1058c2ecf20Sopenharmony_ciperf-y += stream.o
1068c2ecf20Sopenharmony_ciperf-$(CONFIG_AUXTRACE) += auxtrace.o
1078c2ecf20Sopenharmony_ciperf-$(CONFIG_AUXTRACE) += intel-pt-decoder/
1088c2ecf20Sopenharmony_ciperf-$(CONFIG_AUXTRACE) += intel-pt.o
1098c2ecf20Sopenharmony_ciperf-$(CONFIG_AUXTRACE) += intel-bts.o
1108c2ecf20Sopenharmony_ciperf-$(CONFIG_AUXTRACE) += arm-spe.o
1118c2ecf20Sopenharmony_ciperf-$(CONFIG_AUXTRACE) += arm-spe-decoder/
1128c2ecf20Sopenharmony_ciperf-$(CONFIG_AUXTRACE) += s390-cpumsf.o
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ciifdef CONFIG_LIBOPENCSD
1158c2ecf20Sopenharmony_ciperf-$(CONFIG_AUXTRACE) += cs-etm.o
1168c2ecf20Sopenharmony_ciperf-$(CONFIG_AUXTRACE) += cs-etm-decoder/
1178c2ecf20Sopenharmony_ciendif
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ciperf-y += parse-branch-options.o
1208c2ecf20Sopenharmony_ciperf-y += dump-insn.o
1218c2ecf20Sopenharmony_ciperf-y += parse-regs-options.o
1228c2ecf20Sopenharmony_ciperf-y += parse-sublevel-options.o
1238c2ecf20Sopenharmony_ciperf-y += term.o
1248c2ecf20Sopenharmony_ciperf-y += help-unknown-cmd.o
1258c2ecf20Sopenharmony_ciperf-y += mem-events.o
1268c2ecf20Sopenharmony_ciperf-y += vsprintf.o
1278c2ecf20Sopenharmony_ciperf-y += units.o
1288c2ecf20Sopenharmony_ciperf-y += time-utils.o
1298c2ecf20Sopenharmony_ciperf-y += expr-flex.o
1308c2ecf20Sopenharmony_ciperf-y += expr-bison.o
1318c2ecf20Sopenharmony_ciperf-y += expr.o
1328c2ecf20Sopenharmony_ciperf-y += branch.o
1338c2ecf20Sopenharmony_ciperf-y += mem2node.o
1348c2ecf20Sopenharmony_ciperf-y += clockid.o
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_ciperf-$(CONFIG_LIBBPF) += bpf-loader.o
1378c2ecf20Sopenharmony_ciperf-$(CONFIG_LIBBPF) += bpf_map.o
1388c2ecf20Sopenharmony_ciperf-$(CONFIG_BPF_PROLOGUE) += bpf-prologue.o
1398c2ecf20Sopenharmony_ciperf-$(CONFIG_LIBELF) += symbol-elf.o
1408c2ecf20Sopenharmony_ciperf-$(CONFIG_LIBELF) += probe-file.o
1418c2ecf20Sopenharmony_ciperf-$(CONFIG_LIBELF) += probe-event.o
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ciifdef CONFIG_LIBBPF_DYNAMIC
1448c2ecf20Sopenharmony_ci  hashmap := 1
1458c2ecf20Sopenharmony_ciendif
1468c2ecf20Sopenharmony_ciifndef CONFIG_LIBBPF
1478c2ecf20Sopenharmony_ci  hashmap := 1
1488c2ecf20Sopenharmony_ciendif
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_ciifdef hashmap
1518c2ecf20Sopenharmony_ciperf-y += hashmap.o
1528c2ecf20Sopenharmony_ciendif
1538c2ecf20Sopenharmony_ci
1548c2ecf20Sopenharmony_ciifndef CONFIG_LIBELF
1558c2ecf20Sopenharmony_ciperf-y += symbol-minimal.o
1568c2ecf20Sopenharmony_ciendif
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ciifndef CONFIG_SETNS
1598c2ecf20Sopenharmony_ciperf-y += setns.o
1608c2ecf20Sopenharmony_ciendif
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ciperf-$(CONFIG_DWARF) += probe-finder.o
1638c2ecf20Sopenharmony_ciperf-$(CONFIG_DWARF) += dwarf-aux.o
1648c2ecf20Sopenharmony_ciperf-$(CONFIG_DWARF) += dwarf-regs.o
1658c2ecf20Sopenharmony_ci
1668c2ecf20Sopenharmony_ciperf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o
1678c2ecf20Sopenharmony_ciperf-$(CONFIG_LOCAL_LIBUNWIND)    += unwind-libunwind-local.o
1688c2ecf20Sopenharmony_ciperf-$(CONFIG_LIBUNWIND)          += unwind-libunwind.o
1698c2ecf20Sopenharmony_ciperf-$(CONFIG_LIBUNWIND_X86)      += libunwind/x86_32.o
1708c2ecf20Sopenharmony_ciperf-$(CONFIG_LIBUNWIND_AARCH64)  += libunwind/arm64.o
1718c2ecf20Sopenharmony_ci
1728c2ecf20Sopenharmony_ciperf-$(CONFIG_LIBBABELTRACE) += data-convert-bt.o
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ciperf-y += scripting-engines/
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ciperf-$(CONFIG_ZLIB) += zlib.o
1778c2ecf20Sopenharmony_ciperf-$(CONFIG_LZMA) += lzma.o
1788c2ecf20Sopenharmony_ciperf-$(CONFIG_ZSTD) += zstd.o
1798c2ecf20Sopenharmony_ci
1808c2ecf20Sopenharmony_ciperf-$(CONFIG_LIBCAP) += cap.o
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_ciperf-y += demangle-java.o
1838c2ecf20Sopenharmony_ciperf-y += demangle-rust.o
1848c2ecf20Sopenharmony_ci
1858c2ecf20Sopenharmony_ciifdef CONFIG_JITDUMP
1868c2ecf20Sopenharmony_ciperf-$(CONFIG_LIBELF) += jitdump.o
1878c2ecf20Sopenharmony_ciperf-$(CONFIG_LIBELF) += genelf.o
1888c2ecf20Sopenharmony_ciperf-$(CONFIG_DWARF) += genelf_debug.o
1898c2ecf20Sopenharmony_ciendif
1908c2ecf20Sopenharmony_ci
1918c2ecf20Sopenharmony_ciperf-y += perf-hooks.o
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_ciperf-$(CONFIG_LIBBPF) += bpf-event.o
1948c2ecf20Sopenharmony_ci
1958c2ecf20Sopenharmony_ciperf-$(CONFIG_CXX) += c++/
1968c2ecf20Sopenharmony_ci
1978c2ecf20Sopenharmony_ciperf-$(CONFIG_LIBPFM4) += pfm.o
1988c2ecf20Sopenharmony_ci
1998c2ecf20Sopenharmony_ciCFLAGS_config.o   += -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
2008c2ecf20Sopenharmony_ciCFLAGS_llvm-utils.o += -DPERF_INCLUDE_DIR="BUILD_STR($(perf_include_dir_SQ))"
2018c2ecf20Sopenharmony_ci
2028c2ecf20Sopenharmony_ci# avoid compiler warnings in 32-bit mode
2038c2ecf20Sopenharmony_ciCFLAGS_genelf_debug.o  += -Wno-packed
2048c2ecf20Sopenharmony_ci
2058c2ecf20Sopenharmony_ci$(OUTPUT)util/parse-events-flex.c $(OUTPUT)util/parse-events-flex.h: util/parse-events.l $(OUTPUT)util/parse-events-bison.c
2068c2ecf20Sopenharmony_ci	$(call rule_mkdir)
2078c2ecf20Sopenharmony_ci	$(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/parse-events-flex.c \
2088c2ecf20Sopenharmony_ci		--header-file=$(OUTPUT)util/parse-events-flex.h $(PARSER_DEBUG_FLEX) $<
2098c2ecf20Sopenharmony_ci
2108c2ecf20Sopenharmony_ci$(OUTPUT)util/parse-events-bison.c $(OUTPUT)util/parse-events-bison.h: util/parse-events.y
2118c2ecf20Sopenharmony_ci	$(call rule_mkdir)
2128c2ecf20Sopenharmony_ci	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) \
2138c2ecf20Sopenharmony_ci		-o $(OUTPUT)util/parse-events-bison.c -p parse_events_
2148c2ecf20Sopenharmony_ci
2158c2ecf20Sopenharmony_ci$(OUTPUT)util/expr-flex.c $(OUTPUT)util/expr-flex.h: util/expr.l $(OUTPUT)util/expr-bison.c
2168c2ecf20Sopenharmony_ci	$(call rule_mkdir)
2178c2ecf20Sopenharmony_ci	$(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/expr-flex.c \
2188c2ecf20Sopenharmony_ci		--header-file=$(OUTPUT)util/expr-flex.h $(PARSER_DEBUG_FLEX) $<
2198c2ecf20Sopenharmony_ci
2208c2ecf20Sopenharmony_ci$(OUTPUT)util/expr-bison.c $(OUTPUT)util/expr-bison.h: util/expr.y
2218c2ecf20Sopenharmony_ci	$(call rule_mkdir)
2228c2ecf20Sopenharmony_ci	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) \
2238c2ecf20Sopenharmony_ci		-o $(OUTPUT)util/expr-bison.c -p expr_
2248c2ecf20Sopenharmony_ci
2258c2ecf20Sopenharmony_ci$(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-flex.h: util/pmu.l $(OUTPUT)util/pmu-bison.c
2268c2ecf20Sopenharmony_ci	$(call rule_mkdir)
2278c2ecf20Sopenharmony_ci	$(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/pmu-flex.c \
2288c2ecf20Sopenharmony_ci		--header-file=$(OUTPUT)util/pmu-flex.h $(PARSER_DEBUG_FLEX) $<
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_ci$(OUTPUT)util/pmu-bison.c $(OUTPUT)util/pmu-bison.h: util/pmu.y
2318c2ecf20Sopenharmony_ci	$(call rule_mkdir)
2328c2ecf20Sopenharmony_ci	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) \
2338c2ecf20Sopenharmony_ci		-o $(OUTPUT)util/pmu-bison.c -p perf_pmu_
2348c2ecf20Sopenharmony_ci
2358c2ecf20Sopenharmony_ciFLEX_GE_26 := $(shell expr $(shell $(FLEX) --version | sed -e  's/flex \([0-9]\+\).\([0-9]\+\)/\1\2/g') \>\= 26)
2368c2ecf20Sopenharmony_ciifeq ($(FLEX_GE_26),1)
2378c2ecf20Sopenharmony_ci  flex_flags := -Wno-switch-enum -Wno-switch-default -Wno-unused-function -Wno-redundant-decls -Wno-sign-compare -Wno-unused-parameter -Wno-missing-prototypes -Wno-missing-declarations
2388c2ecf20Sopenharmony_ci  CC_HASNT_MISLEADING_INDENTATION := $(shell echo "int main(void) { return 0 }" | $(CC) -Werror -Wno-misleading-indentation -o /dev/null -xc - 2>&1 | grep -q -- -Wno-misleading-indentation ; echo $$?)
2398c2ecf20Sopenharmony_ci  ifeq ($(CC_HASNT_MISLEADING_INDENTATION), 1)
2408c2ecf20Sopenharmony_ci    flex_flags += -Wno-misleading-indentation
2418c2ecf20Sopenharmony_ci  endif
2428c2ecf20Sopenharmony_cielse
2438c2ecf20Sopenharmony_ci  flex_flags := -w
2448c2ecf20Sopenharmony_ciendif
2458c2ecf20Sopenharmony_ciCFLAGS_parse-events-flex.o  += $(flex_flags)
2468c2ecf20Sopenharmony_ciCFLAGS_pmu-flex.o           += $(flex_flags)
2478c2ecf20Sopenharmony_ciCFLAGS_expr-flex.o          += $(flex_flags)
2488c2ecf20Sopenharmony_ci
2498c2ecf20Sopenharmony_cibison_flags := -DYYENABLE_NLS=0
2508c2ecf20Sopenharmony_ciBISON_GE_35 := $(shell expr $(shell $(BISON) --version | grep bison | sed -e 's/.\+ \([0-9]\+\).\([0-9]\+\)/\1\2/g') \>\= 35)
2518c2ecf20Sopenharmony_ciifeq ($(BISON_GE_35),1)
2528c2ecf20Sopenharmony_ci  bison_flags += -Wno-unused-parameter -Wno-nested-externs -Wno-implicit-function-declaration -Wno-switch-enum
2538c2ecf20Sopenharmony_cielse
2548c2ecf20Sopenharmony_ci  bison_flags += -w
2558c2ecf20Sopenharmony_ciendif
2568c2ecf20Sopenharmony_ci
2578c2ecf20Sopenharmony_ciBISON_LT_381 := $(shell expr $(shell $(BISON) --version | grep bison | sed -e 's/.\+ \([0-9]\+\).\([0-9]\+\).\([0-9]\+\)/\1\2\3/g') \< 381)
2588c2ecf20Sopenharmony_ciifeq ($(BISON_LT_381),1)
2598c2ecf20Sopenharmony_ci  bison_flags += -DYYNOMEM=YYABORT
2608c2ecf20Sopenharmony_ciendif
2618c2ecf20Sopenharmony_ci
2628c2ecf20Sopenharmony_ciCFLAGS_parse-events-bison.o += $(bison_flags)
2638c2ecf20Sopenharmony_ciCFLAGS_pmu-bison.o          += -DYYLTYPE_IS_TRIVIAL=0 $(bison_flags)
2648c2ecf20Sopenharmony_ciCFLAGS_expr-bison.o         += -DYYLTYPE_IS_TRIVIAL=0 $(bison_flags)
2658c2ecf20Sopenharmony_ci
2668c2ecf20Sopenharmony_ci$(OUTPUT)util/parse-events.o: $(OUTPUT)util/parse-events-flex.c $(OUTPUT)util/parse-events-bison.c
2678c2ecf20Sopenharmony_ci$(OUTPUT)util/pmu.o: $(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-bison.c
2688c2ecf20Sopenharmony_ci$(OUTPUT)util/expr.o: $(OUTPUT)util/expr-flex.c $(OUTPUT)util/expr-bison.c
2698c2ecf20Sopenharmony_ci
2708c2ecf20Sopenharmony_ciCFLAGS_bitmap.o        += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
2718c2ecf20Sopenharmony_ciCFLAGS_find_bit.o      += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
2728c2ecf20Sopenharmony_ciCFLAGS_rbtree.o        += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
2738c2ecf20Sopenharmony_ciCFLAGS_libstring.o     += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
2748c2ecf20Sopenharmony_ciCFLAGS_hweight.o       += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
2758c2ecf20Sopenharmony_ciCFLAGS_parse-events.o  += -Wno-redundant-decls
2768c2ecf20Sopenharmony_ciCFLAGS_expr.o          += -Wno-redundant-decls
2778c2ecf20Sopenharmony_ciCFLAGS_header.o        += -include $(OUTPUT)PERF-VERSION-FILE
2788c2ecf20Sopenharmony_ci
2798c2ecf20Sopenharmony_ci$(OUTPUT)util/kallsyms.o: ../lib/symbol/kallsyms.c FORCE
2808c2ecf20Sopenharmony_ci	$(call rule_mkdir)
2818c2ecf20Sopenharmony_ci	$(call if_changed_dep,cc_o_c)
2828c2ecf20Sopenharmony_ci
2838c2ecf20Sopenharmony_ci$(OUTPUT)util/argv_split.o: ../lib/argv_split.c FORCE
2848c2ecf20Sopenharmony_ci	$(call rule_mkdir)
2858c2ecf20Sopenharmony_ci	$(call if_changed_dep,cc_o_c)
2868c2ecf20Sopenharmony_ci
2878c2ecf20Sopenharmony_ci$(OUTPUT)util/bitmap.o: ../lib/bitmap.c FORCE
2888c2ecf20Sopenharmony_ci	$(call rule_mkdir)
2898c2ecf20Sopenharmony_ci	$(call if_changed_dep,cc_o_c)
2908c2ecf20Sopenharmony_ci
2918c2ecf20Sopenharmony_ci$(OUTPUT)util/ctype.o: ../lib/ctype.c FORCE
2928c2ecf20Sopenharmony_ci	$(call rule_mkdir)
2938c2ecf20Sopenharmony_ci	$(call if_changed_dep,cc_o_c)
2948c2ecf20Sopenharmony_ci
2958c2ecf20Sopenharmony_ci$(OUTPUT)util/find_bit.o: ../lib/find_bit.c FORCE
2968c2ecf20Sopenharmony_ci	$(call rule_mkdir)
2978c2ecf20Sopenharmony_ci	$(call if_changed_dep,cc_o_c)
2988c2ecf20Sopenharmony_ci
2998c2ecf20Sopenharmony_ci$(OUTPUT)util/rbtree.o: ../lib/rbtree.c FORCE
3008c2ecf20Sopenharmony_ci	$(call rule_mkdir)
3018c2ecf20Sopenharmony_ci	$(call if_changed_dep,cc_o_c)
3028c2ecf20Sopenharmony_ci
3038c2ecf20Sopenharmony_ci$(OUTPUT)util/libstring.o: ../lib/string.c FORCE
3048c2ecf20Sopenharmony_ci	$(call rule_mkdir)
3058c2ecf20Sopenharmony_ci	$(call if_changed_dep,cc_o_c)
3068c2ecf20Sopenharmony_ci
3078c2ecf20Sopenharmony_ci$(OUTPUT)util/hweight.o: ../lib/hweight.c FORCE
3088c2ecf20Sopenharmony_ci	$(call rule_mkdir)
3098c2ecf20Sopenharmony_ci	$(call if_changed_dep,cc_o_c)
3108c2ecf20Sopenharmony_ci
3118c2ecf20Sopenharmony_ci$(OUTPUT)util/vsprintf.o: ../lib/vsprintf.c FORCE
3128c2ecf20Sopenharmony_ci	$(call rule_mkdir)
3138c2ecf20Sopenharmony_ci	$(call if_changed_dep,cc_o_c)
314