xref: /aosp_15_r20/external/libtracefs/src/Makefile (revision 287e80b3a36113050663245e7f2c00d274188f18)
1*287e80b3SSadaf Ebrahimi# SPDX-License-Identifier: LGPL-2.1
2*287e80b3SSadaf Ebrahimi
3*287e80b3SSadaf Ebrahimiinclude $(src)/scripts/utils.mk
4*287e80b3SSadaf Ebrahimi
5*287e80b3SSadaf EbrahimiOBJS =
6*287e80b3SSadaf EbrahimiOBJS += tracefs-utils.o
7*287e80b3SSadaf EbrahimiOBJS += tracefs-instance.o
8*287e80b3SSadaf EbrahimiOBJS += tracefs-events.o
9*287e80b3SSadaf EbrahimiOBJS += tracefs-tools.o
10*287e80b3SSadaf EbrahimiOBJS += tracefs-marker.o
11*287e80b3SSadaf EbrahimiOBJS += tracefs-kprobes.o
12*287e80b3SSadaf EbrahimiOBJS += tracefs-hist.o
13*287e80b3SSadaf EbrahimiOBJS += tracefs-filter.o
14*287e80b3SSadaf EbrahimiOBJS += tracefs-dynevents.o
15*287e80b3SSadaf EbrahimiOBJS += tracefs-eprobes.o
16*287e80b3SSadaf EbrahimiOBJS += tracefs-uprobes.o
17*287e80b3SSadaf EbrahimiOBJS += tracefs-record.o
18*287e80b3SSadaf Ebrahimi
19*287e80b3SSadaf Ebrahimi# Order matters for the the three below
20*287e80b3SSadaf EbrahimiOBJS += sqlhist-lex.o
21*287e80b3SSadaf EbrahimiOBJS += sqlhist.tab.o
22*287e80b3SSadaf EbrahimiOBJS += tracefs-sqlhist.o
23*287e80b3SSadaf Ebrahimi
24*287e80b3SSadaf EbrahimiOBJS := $(OBJS:%.o=$(bdir)/%.o)
25*287e80b3SSadaf Ebrahimi
26*287e80b3SSadaf Ebrahimi$(LIBTRACEFS_STATIC): $(OBJS)
27*287e80b3SSadaf Ebrahimi	$(Q)$(call do_build_static_lib)
28*287e80b3SSadaf Ebrahimi
29*287e80b3SSadaf Ebrahimi$(LIBTRACEFS_SHARED): $(OBJS)
30*287e80b3SSadaf Ebrahimi	$(Q)$(call do_compile_shared_library,$(notdir $(LIBTRACEFS_SHARED_VERSION)))
31*287e80b3SSadaf Ebrahimi
32*287e80b3SSadaf Ebrahimi$(LIBTRACEFS_SHARED_VERSION): $(LIBTRACEFS_SHARED)
33*287e80b3SSadaf Ebrahimi	@ln -sf $(<F) $@
34*287e80b3SSadaf Ebrahimi
35*287e80b3SSadaf Ebrahimi$(LIBTRACEFS_SHARED_SO): $(LIBTRACEFS_SHARED_VERSION)
36*287e80b3SSadaf Ebrahimi	@ln -sf $(<F) $@
37*287e80b3SSadaf Ebrahimi
38*287e80b3SSadaf Ebrahimilibtracefs.so: $(LIBTRACEFS_SHARED_SO)
39*287e80b3SSadaf Ebrahimi
40*287e80b3SSadaf Ebrahimi# bison will create both sqlhist.tab.c and sqlhist.tab.h
41*287e80b3SSadaf Ebrahimisqlhist.tab.h:
42*287e80b3SSadaf Ebrahimisqlhist.tab.c: sqlhist.y sqlhist.tab.h
43*287e80b3SSadaf Ebrahimi	bison --debug -v --report-file=bison.report -d -o $@ $<
44*287e80b3SSadaf Ebrahimi
45*287e80b3SSadaf Ebrahimisqlhist-lex.c: sqlhist.l sqlhist.tab.c
46*287e80b3SSadaf Ebrahimi	flex -o $@ $<
47*287e80b3SSadaf Ebrahimi
48*287e80b3SSadaf Ebrahimi$(bdir)/%.o: %.c
49*287e80b3SSadaf Ebrahimi	$(Q)$(call do_fpic_compile)
50*287e80b3SSadaf Ebrahimi
51*287e80b3SSadaf Ebrahimitracefs-sqlhist.o: sqlhist.tab.h
52*287e80b3SSadaf Ebrahimi
53*287e80b3SSadaf Ebrahimi$(OBJS): | $(bdir)
54*287e80b3SSadaf Ebrahimi
55*287e80b3SSadaf Ebrahimiclean:
56*287e80b3SSadaf Ebrahimi	$(Q)$(call do_clean,$(OBJS) .*.d)
57*287e80b3SSadaf Ebrahimi
58*287e80b3SSadaf Ebrahimi-include .*.d
59*287e80b3SSadaf Ebrahimi
60*287e80b3SSadaf Ebrahimi$(bdir)/tracefs-sqlhist.o tracefs-sqlhist.o: sqlhist.tab.h
61*287e80b3SSadaf Ebrahimi
62*287e80b3SSadaf Ebrahimi.PHONY: $(LIBTRACEFS_SHARED_SO) $(LIBTRACEFS_STATIC)
63