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