xref: /aosp_15_r20/external/trace-cmd/tracecmd/Makefile (revision 58e6ee5f017f6a8912852c892d18457e4bafb554)
1# SPDX-License-Identifier: GPL-2.0
2
3VERSION := $(TC_VERSION)
4PATCHLEVEL := $(TC_PATCHLEVEL)
5EXTRAVERSION := $(TC_EXTRAVERSION)
6
7bdir:=$(obj)/tracecmd
8
9TC_VERSION := $(bdir)/include/tc_version.h
10TARGETS = $(bdir)/trace-cmd $(TC_VERSION)
11
12BUILDGUI := 0
13include $(src)/scripts/utils.mk
14
15CFLAGS += -I$(bdir)/include
16
17TRACE_CMD_OBJS =
18TRACE_CMD_OBJS += trace-cmd.o
19TRACE_CMD_OBJS += trace-record.o
20TRACE_CMD_OBJS += trace-read.o
21TRACE_CMD_OBJS += trace-split.o
22TRACE_CMD_OBJS += trace-listen.o
23TRACE_CMD_OBJS += trace-stack.o
24TRACE_CMD_OBJS += trace-hist.o
25TRACE_CMD_OBJS += trace-mem.o
26TRACE_CMD_OBJS += trace-snapshot.o
27TRACE_CMD_OBJS += trace-stat.o
28TRACE_CMD_OBJS += trace-profile.o
29TRACE_CMD_OBJS += trace-stream.o
30TRACE_CMD_OBJS += trace-record.o
31TRACE_CMD_OBJS += trace-restore.o
32TRACE_CMD_OBJS += trace-check-events.o
33TRACE_CMD_OBJS += trace-show.o
34TRACE_CMD_OBJS += trace-list.o
35TRACE_CMD_OBJS += trace-usage.o
36TRACE_CMD_OBJS += trace-dump.o
37TRACE_CMD_OBJS += trace-clear.o
38TRACE_CMD_OBJS += trace-vm.o
39TRACE_CMD_OBJS += trace-convert.o
40TRACE_CMD_OBJS += trace-agent.o
41TRACE_CMD_OBJS += trace-setup-guest.o
42ifeq ($(VSOCK_DEFINED), 1)
43TRACE_CMD_OBJS += trace-vsock.o
44endif
45
46ALL_OBJS := $(TRACE_CMD_OBJS:%.o=$(bdir)/%.o)
47
48all_objs := $(sort $(ALL_OBJS))
49all_deps := $(all_objs:$(bdir)/%.o=$(bdir)/.%.d)
50
51CONFIG_INCLUDES =
52CONFIG_LIBS	= -lrt -lpthread $(TRACE_LIBS) $(LIBZSTD_LDLAGS)
53CONFIG_FLAGS	=
54
55ifeq ($(ZLIB_INSTALLED), 1)
56CONFIG_LIBS += -lz
57endif
58
59all: $(TARGETS)
60
61$(bdir):
62	@mkdir -p $(bdir)
63
64$(bdir)/include: | $(bdir)
65	@mkdir -p $(bdir)/include
66
67$(TC_VERSION): force | $(bdir)/include
68	$(Q)$(call update_version.h)
69
70$(all_deps): | $(bdir)
71$(all_objs): | $(bdir)
72
73$(bdir)/trace-cmd: $(ALL_OBJS)
74	$(Q)$(do_app_build)
75
76$(bdir)/trace-cmd: $(LIBTRACECMD_STATIC)
77
78$(bdir)/%.o: %.c
79	$(Q)$(call do_compile)
80
81$(all_deps): $(bdir)/.%.d: %.c
82	$(Q)$(CC) -M -MT $(bdir)/$*.o $(CPPFLAGS) $(CFLAGS) $< > $@
83
84$(all_deps): $(TC_VERSION)
85
86$(all_objs): $(bdir)/%.o : $(bdir)/.%.d
87
88dep_includes := $(wildcard $(DEPS))
89
90ifneq ($(dep_includes),)
91  include $(dep_includes)
92endif
93
94clean:
95	$(RM) $(bdir)/*.a $(bdir)/*.so $(bdir)/*.o $(bdir)/.*.d $(TARGETS)
96
97force:
98.PHONY: clean
99