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