diff options
Diffstat (limited to 'samples')
-rw-r--r-- | samples/Makefile | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/samples/Makefile b/samples/Makefile new file mode 100644 index 0000000..743bddb --- /dev/null +++ b/samples/Makefile @@ -0,0 +1,75 @@ +# SPDX-License-Identifier: LGPL-2.1 + +# +# The samples are pulled out of the examples used in the man pages +# that are located in the Documentation directory. +# + +include $(src)/scripts/utils.mk + +EXAMPLES := +EXAMPLES += dynevents +EXAMPLES += kprobes +EXAMPLES += eprobes +EXAMPLES += uprobes +EXAMPLES += synth +EXAMPLES += error +EXAMPLES += filter +EXAMPLES += function-filter +EXAMPLES += hist +EXAMPLES += hist-cont +EXAMPLES += tracer +EXAMPLES += stream +EXAMPLES += instances-affinity +EXAMPLES += cpu + +TARGETS := +TARGETS += sqlhist +TARGETS += $(EXAMPLES) + +sdir := $(obj)/bin + +TARGETS := $(patsubst %,$(sdir)/%,$(TARGETS)) + +all: $(TARGETS) + +$(bdir)/sqlhist.c: $(src)/Documentation/libtracefs-sql.txt + $(call extract_example,$<,$@) + +$(bdir)/%.c: ../Documentation/libtracefs-%.txt + $(call extract_example,$<,$@) + +$(sdir): + @mkdir -p $(sdir) + +sqlhist: $(sdir)/sqlhist + +$(TARGETS): $(sdir) + +# sqlhist is unique and stands on its own +$(sdir)/sqlhist: $(bdir)/sqlhist.c $(LIBTRACEFS_STATIC) + $(call do_sample_build,$@,$<) + +$(sdir)/%: $(bdir)/%.o + $(call do_sample_build,$@,$<) + +$(EXAMPLES): $(patsubst %,$(sdir)/%,$(TARGETS)) + +## The intermediate files get removed by Make. +## To examine the .c files created by one of the man pages, +## uncomment the below, and replace the XX with the exec example +## name, and the file will not be discarded by make. +# +# $(bdir)/XX.o: $(bdir)/XX.c +# $(CC) -g -Wall $(CFLAGS) -c -o $@ $^ -I../include/ $(LIBTRACEEVENT_INCLUDES) + +$(bdir)/%.o: $(bdir)/%.c + $(call do_sample_obj,$@,$^) + +$(bdir)/XX.o: $(bdir)/hist.c + $(CC) -g -Wall $(CFLAGS) -c -o $@ $^ -I../include/ $(LIBTRACEEVENT_INCLUDES) + +clean: + $(Q)$(call do_clean,$(sdir)/* $(bdir)/sqlhist.c $(bdir)/sqlhist.o) + +.PHONY: sqlhist |