On Tue, May 12, 2015 at 11:25:45PM +0800, hekuang wrote:
Hi, jirka
On 05/12/2015 08:37 PM, Jiri Olsa wrote:
On Tue, May 12, 2015 at 06:41:56AM +0000, He Kuang wrote:
SNIP
$(Q)$(MAKE) $(build)=perfI thought the idea of v2 was not to introduce new target,
-$(OUTPUT)perf: $(PERFLIBS) $(PERF_IN)
- $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $(PERF_IN) $(LIBS) -o $@
+LD_LIBTRACEEVENT_FLAGS += -Xlinker --dynamic-list=$(LIBTRACEEVENT_DYNAMIC_LIST)
+$(OUTPUT)perf: $(PERFLIBS) $(PERF_IN) $(LIBTRACEEVENT_DYNAMIC_LIST)
+ $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $(LD_LIBTRACEEVENT_FLAGS) $(PERF_IN) $(LIBS) -o $@
$(GTK_IN): FORCE
$(Q)$(MAKE) $(build)=gtk
@@ -373,7 +375,13 @@ $(LIB_FILE): $(LIBPERF_IN)
LIBTRACEEVENT_FLAGS += plugin_dir=$(plugindir_SQ)
$(LIBTRACEEVENT): FORCE
- $(Q)$(MAKE) -C $(TRACE_EVENT_DIR) $(LIBTRACEEVENT_FLAGS) O=$(OUTPUT) $(OUTPUT)libtraceevent.a plugins
+ $(Q)$(MAKE) -C $(TRACE_EVENT_DIR) $(LIBTRACEEVENT_FLAGS) O=$(OUTPUT) $(OUTPUT)libtraceevent.a
+
+libtraceevent_plugins: FORCE
+ $(Q)$(MAKE) -C $(TRACE_EVENT_DIR) $(LIBTRACEEVENT_FLAGS) O=$(OUTPUT) plugins
+
+$(LIBTRACEEVENT_DYNAMIC_LIST): libtraceevent_plugins
+ $(Q)$(MAKE) -C $(TRACE_EVENT_DIR) $(LIBTRACEEVENT_FLAGS) O=$(OUTPUT) $(OUTPUT)libtraceevent-dynamic-list
something like in attached patch (not completely tested)
jirka
There is a problem, the target perf executable is dependent on
the dynamic-list-file, so we should add plugins or the
dynamic-list-file to perf's dependencies.
As your patch below, the dynamic-list-file is built implictly
when building plugins, so we should not add it directly to the
dependency list of perf.
It seems new targets are needed. In the v2 patch,
hum, I dont get it.. why ?
dynamic-list-file gets rebuilt any time plugins are rebuilt..
why not keep just the 'plugins' dependency?
jirka