• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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-attach.o
41TRACE_CMD_OBJS += trace-agent.o
42TRACE_CMD_OBJS += trace-tsync.o
43TRACE_CMD_OBJS += trace-setup-guest.o
44TRACE_CMD_OBJS += trace-sqlhist.o
45ifeq ($(VSOCK_DEFINED), 1)
46TRACE_CMD_OBJS += trace-vsock.o
47endif
48
49ALL_OBJS := $(TRACE_CMD_OBJS:%.o=$(bdir)/%.o)
50
51all_objs := $(sort $(ALL_OBJS))
52all_deps := $(all_objs:$(bdir)/%.o=$(bdir)/.%.d)
53
54LPTHREAD ?= -lpthread
55LRT ?= -lrt
56
57CONFIG_INCLUDES =
58CONFIG_LIBS	= $(LRT) $(LPTHREAD) $(TRACE_LIBS) $(ZLIB_LDLAGS) $(LIBZSTD_LDLAGS)
59CONFIG_FLAGS	=
60
61all: $(TARGETS)
62
63$(bdir):
64	@mkdir -p $(bdir)
65
66$(bdir)/include: | $(bdir)
67	@mkdir -p $(bdir)/include
68
69$(TC_VERSION): force | $(bdir)/include
70	$(Q)$(call update_version.h)
71
72$(all_deps): | $(bdir)
73$(all_objs): | $(bdir)
74
75$(bdir)/trace-cmd: $(ALL_OBJS)
76	$(Q)$(do_app_build)
77
78$(bdir)/trace-cmd: $(LIBTRACECMD_STATIC)
79
80$(bdir)/%.o: %.c
81	$(Q)$(call do_compile)
82
83$(all_deps): $(bdir)/.%.d: %.c
84	$(Q)$(CC) -M -MT $(bdir)/$*.o $(CPPFLAGS) $(CFLAGS) $< > $@
85
86$(all_deps): $(TC_VERSION)
87
88$(all_objs): $(bdir)/%.o : $(bdir)/.%.d
89
90dep_includes := $(wildcard $(DEPS))
91
92ifneq ($(dep_includes),)
93  include $(dep_includes)
94endif
95
96clean:
97	$(RM) $(bdir)/*.a $(bdir)/*.so $(bdir)/*.o $(bdir)/.*.d $(TARGETS)
98
99force:
100.PHONY: clean
101