xref: /aosp_15_r20/external/libtracefs/src/Makefile (revision 287e80b3a36113050663245e7f2c00d274188f18)
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-filter.o
14OBJS += tracefs-dynevents.o
15OBJS += tracefs-eprobes.o
16OBJS += tracefs-uprobes.o
17OBJS += tracefs-record.o
18
19# Order matters for the the three below
20OBJS += sqlhist-lex.o
21OBJS += sqlhist.tab.o
22OBJS += tracefs-sqlhist.o
23
24OBJS := $(OBJS:%.o=$(bdir)/%.o)
25
26$(LIBTRACEFS_STATIC): $(OBJS)
27	$(Q)$(call do_build_static_lib)
28
29$(LIBTRACEFS_SHARED): $(OBJS)
30	$(Q)$(call do_compile_shared_library,$(notdir $(LIBTRACEFS_SHARED_VERSION)))
31
32$(LIBTRACEFS_SHARED_VERSION): $(LIBTRACEFS_SHARED)
33	@ln -sf $(<F) $@
34
35$(LIBTRACEFS_SHARED_SO): $(LIBTRACEFS_SHARED_VERSION)
36	@ln -sf $(<F) $@
37
38libtracefs.so: $(LIBTRACEFS_SHARED_SO)
39
40# bison will create both sqlhist.tab.c and sqlhist.tab.h
41sqlhist.tab.h:
42sqlhist.tab.c: sqlhist.y sqlhist.tab.h
43	bison --debug -v --report-file=bison.report -d -o $@ $<
44
45sqlhist-lex.c: sqlhist.l sqlhist.tab.c
46	flex -o $@ $<
47
48$(bdir)/%.o: %.c
49	$(Q)$(call do_fpic_compile)
50
51tracefs-sqlhist.o: sqlhist.tab.h
52
53$(OBJS): | $(bdir)
54
55clean:
56	$(Q)$(call do_clean,$(OBJS) .*.d)
57
58-include .*.d
59
60$(bdir)/tracefs-sqlhist.o tracefs-sqlhist.o: sqlhist.tab.h
61
62.PHONY: $(LIBTRACEFS_SHARED_SO) $(LIBTRACEFS_STATIC)
63