• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SPDX-License-Identifier: LGPL-2.1
2
3include $(src)/scripts/utils.mk
4
5OBJS =
6OBJS += tracefs-utils.o
7OBJS += tracefs-instance.o
8OBJS += tracefs-events.o
9OBJS += tracefs-tools.o
10OBJS += tracefs-marker.o
11OBJS += tracefs-kprobes.o
12OBJS += tracefs-hist.o
13OBJS += tracefs-stats.o
14OBJS += tracefs-filter.o
15OBJS += tracefs-dynevents.o
16OBJS += tracefs-eprobes.o
17OBJS += tracefs-uprobes.o
18OBJS += tracefs-record.o
19OBJS += tracefs-mmap.o
20ifeq ($(VSOCK_DEFINED), 1)
21OBJS += tracefs-vsock.o
22endif
23ifeq ($(PERF_DEFINED), 1)
24OBJS += tracefs-perf.o
25endif
26
27# Order matters for the the three below
28OBJS += sqlhist-lex.o
29OBJS += sqlhist.tab.o
30OBJS += tracefs-sqlhist.o
31
32OBJS := $(OBJS:%.o=$(bdir)/%.o)
33
34$(LIBTRACEFS_STATIC): $(OBJS)
35	$(Q)$(call do_build_static_lib)
36
37$(LIBTRACEFS_SHARED): $(OBJS)
38	$(Q)$(call do_compile_shared_library,$(notdir $(LIBTRACEFS_SHARED_VERSION)))
39
40$(LIBTRACEFS_SHARED_VERSION): $(LIBTRACEFS_SHARED)
41	@ln -sf $(<F) $@
42
43$(LIBTRACEFS_SHARED_SO): $(LIBTRACEFS_SHARED_VERSION)
44	@ln -sf $(<F) $@
45
46libtracefs.so: $(LIBTRACEFS_SHARED_SO)
47
48# bison will create both sqlhist.tab.c and sqlhist.tab.h
49sqlhist.tab.h:
50sqlhist.tab.c: sqlhist.y sqlhist.tab.h
51	bison --debug -v --report-file=bison.report -d -o $@ $<
52
53sqlhist-lex.c: sqlhist.l sqlhist.tab.c
54	flex -o $@ $<
55
56$(bdir)/%.o: %.c
57	$(Q)$(call do_fpic_compile)
58
59tracefs-sqlhist.o: sqlhist.tab.h
60
61$(OBJS): | $(bdir)
62
63clean:
64	$(Q)$(call do_clean,$(OBJS) .*.d)
65
66-include .*.d
67
68$(bdir)/tracefs-sqlhist.o tracefs-sqlhist.o: sqlhist.tab.h
69
70.PHONY: $(LIBTRACEFS_SHARED_SO) $(LIBTRACEFS_STATIC)
71