aboutsummaryrefslogtreecommitdiffstats
path: root/tracecmd/Makefile
blob: d56d7a5a86c41ac5e9435c2c1d9ec2a5c9c842dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# SPDX-License-Identifier: GPL-2.0

VERSION := $(TC_VERSION)
PATCHLEVEL := $(TC_PATCHLEVEL)
EXTRAVERSION := $(TC_EXTRAVERSION)

bdir:=$(obj)/tracecmd

TC_VERSION := $(bdir)/include/tc_version.h
TARGETS = $(bdir)/trace-cmd $(TC_VERSION)

BUILDGUI := 0
include $(src)/scripts/utils.mk

CFLAGS += -I$(bdir)/include

TRACE_CMD_OBJS =
TRACE_CMD_OBJS += trace-cmd.o
TRACE_CMD_OBJS += trace-record.o
TRACE_CMD_OBJS += trace-read.o
TRACE_CMD_OBJS += trace-split.o
TRACE_CMD_OBJS += trace-listen.o
TRACE_CMD_OBJS += trace-stack.o
TRACE_CMD_OBJS += trace-hist.o
TRACE_CMD_OBJS += trace-mem.o
TRACE_CMD_OBJS += trace-snapshot.o
TRACE_CMD_OBJS += trace-stat.o
TRACE_CMD_OBJS += trace-profile.o
TRACE_CMD_OBJS += trace-stream.o
TRACE_CMD_OBJS += trace-record.o
TRACE_CMD_OBJS += trace-restore.o
TRACE_CMD_OBJS += trace-check-events.o
TRACE_CMD_OBJS += trace-show.o
TRACE_CMD_OBJS += trace-list.o
TRACE_CMD_OBJS += trace-usage.o
TRACE_CMD_OBJS += trace-dump.o
TRACE_CMD_OBJS += trace-clear.o
TRACE_CMD_OBJS += trace-vm.o
TRACE_CMD_OBJS += trace-convert.o
TRACE_CMD_OBJS += trace-attach.o
TRACE_CMD_OBJS += trace-agent.o
TRACE_CMD_OBJS += trace-tsync.o
TRACE_CMD_OBJS += trace-setup-guest.o
TRACE_CMD_OBJS += trace-sqlhist.o
ifeq ($(VSOCK_DEFINED), 1)
TRACE_CMD_OBJS += trace-vsock.o
endif

ALL_OBJS := $(TRACE_CMD_OBJS:%.o=$(bdir)/%.o)

all_objs := $(sort $(ALL_OBJS))
all_deps := $(all_objs:$(bdir)/%.o=$(bdir)/.%.d)

LPTHREAD ?= -lpthread
LRT ?= -lrt

CONFIG_INCLUDES =
CONFIG_LIBS	= $(LRT) $(LPTHREAD) $(TRACE_LIBS) $(ZLIB_LDLAGS) $(LIBZSTD_LDLAGS)
CONFIG_FLAGS	=

all: $(TARGETS)

$(bdir):
	@mkdir -p $(bdir)

$(bdir)/include: | $(bdir)
	@mkdir -p $(bdir)/include

$(TC_VERSION): force | $(bdir)/include
	$(Q)$(call update_version.h)

$(all_deps): | $(bdir)
$(all_objs): | $(bdir)

$(bdir)/trace-cmd: $(ALL_OBJS)
	$(Q)$(do_app_build)

$(bdir)/trace-cmd: $(LIBTRACECMD_STATIC)

$(bdir)/%.o: %.c
	$(Q)$(call do_compile)

$(all_deps): $(bdir)/.%.d: %.c
	$(Q)$(CC) -M -MT $(bdir)/$*.o $(CPPFLAGS) $(CFLAGS) $< > $@

$(all_deps): $(TC_VERSION)

$(all_objs): $(bdir)/%.o : $(bdir)/.%.d

dep_includes := $(wildcard $(DEPS))

ifneq ($(dep_includes),)
  include $(dep_includes)
endif

clean:
	$(RM) $(bdir)/*.a $(bdir)/*.so $(bdir)/*.o $(bdir)/.*.d $(TARGETS)

force:
.PHONY: clean