blob: ed5a9cea3956a740b3bc4d3d46dc201620be08a3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
include $(src)/scripts/utils.mk
bdir:=$(obj)/lib/trace-cmd/plugins
PLUGIN_OBJS =
PLUGIN_OBJS := $(PLUGIN_OBJS:%.o=$(bdir)/%.o)
PLUGIN_BUILD := $(PLUGIN_OBJS:$(bdir)/%.o=$(bdir)/%.so)
PLUGINS := $(PLUGIN_BUILD)
DEPS := $(PLUGIN_OBJS:$(bdir)/%.o=$(bdir)/.%.d)
all: $(PLUGINS)
$(bdir):
@mkdir -p $(bdir)
$(PLUGIN_OBJS): | $(bdir)
$(DEPS): | $(bdir)
$(PLUGIN_OBJS): $(bdir)/%.o : %.c
$(Q)$(do_compile_plugin_obj)
$(PLUGIN_BUILD): $(bdir)/%.so: $(bdir)/%.o
$(Q)$(do_plugin_build)
$(DEPS): $(bdir)/.%.d: %.c
$(Q)$(CC) -M -MT $(bdir)/$*.o $(CPPFLAGS) $(CFLAGS) $< > $@
$(PLUGIN_OBJS): $(bdir)/%.o : $(bdir)/.%.d
PLUGINS_INSTALL = $(subst .so,.install,$(PLUGINS))
$(PLUGINS_INSTALL): $(bdir)/%.install : $(bdir)/%.so force
$(Q)$(call do_install_data,$<,$(plugin_tracecmd_dir_SQ))
install_plugins: $(PLUGINS_INSTALL)
# The following targets are necessary to trigger a rebuild when
# $(PLUGIN_DIR_TRACECMD) change. Without them, a full clean build would
# necessary in order to get the binaries updated.
$(bdir)/tracecmd_plugin_dir: $(bdir) force
$(Q)$(N)$(call update_dir, 'PLUGIN_DIR_TRACECMD=$(PLUGIN_DIR_TRACECMD)')
dep_includes := $(wildcard $(DEPS))
ifneq ($(dep_includes),)
include $(dep_includes)
endif
clean:
$(RM) -f $(bdir)/*.a $(bdir)/*.so $(bdir)/*.o $(bdir)/.*.d\
$(bdir)/tracecmd_plugin_dir
force:
.PHONY: clean force
|