| # 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 |
| |
| 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 |
| $(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,$@,$^) |
| |
| clean: |
| $(Q)$(call do_clean,$(sdir)/* $(bdir)/sqlhist.c $(bdir)/sqlhist.o) |