diff options
author | Jiri Olsa <jolsa@kernel.org> | 2016-07-31 16:52:34 +0200 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-10-24 11:07:32 -0300 |
commit | fe316723a8106c7527710ae7085a1dc6a9c1ab05 (patch) | |
tree | 9e3097bb55310587ebbb8b03810bcf17b4413186 /tools/lib | |
parent | 39944a768a6df73f8cdec0b5083b108af392df8e (diff) |
tools lib traceevent: Add version for traceevent shared object
Adding version support for libtraceevent.so object.
Using the existing EVENT_PARSE_VERSION variable to construct
the .so object version string, which now consists of:
$(EP_VERSION).$(EP_PATCHLEVEL).$(EP_EXTRAVERSION)
Looks like it was created for this purpose anyway.
The build will now produce following traeceevent libraries:
$ ll libtraceevent*
libtraceevent.a
libtraceevent.so -> libtraceevent.so.1.1.0
libtraceevent.so.1 -> libtraceevent.so.1.1.0
libtraceevent.so.1.1.0
Also the install target will carry them:
$ make DESTDIR=/tmp/krava prefix=/usr install
INSTALL trace_plugins
INSTALL libtraceevent.a
INSTALL libtraceevent.so.1.1.0
$ find /tmp/krava/ | xargs ls -l
...
/tmp/krava/usr/lib64:
total 572
libtraceevent.a
libtraceevent.so -> libtraceevent.so.1.1.0
libtraceevent.so.1 -> libtraceevent.so.1.1.0
libtraceevent.so.1.1.0
...
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/n/tip-v64z62fh0dwt0ueie5usrnac@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/lib')
-rw-r--r-- | tools/lib/traceevent/Makefile | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/tools/lib/traceevent/Makefile b/tools/lib/traceevent/Makefile index 0d7e1725a0f8..c76012ebdb9c 100644 --- a/tools/lib/traceevent/Makefile +++ b/tools/lib/traceevent/Makefile @@ -99,8 +99,6 @@ libdir_SQ = $(subst ','\'',$(libdir)) libdir_relative_SQ = $(subst ','\'',$(libdir_relative)) plugin_dir_SQ = $(subst ','\'',$(plugin_dir)) -LIB_TARGET = libtraceevent.a libtraceevent.so - CONFIG_INCLUDES = CONFIG_LIBS = CONFIG_FLAGS = @@ -114,6 +112,9 @@ N = EVENT_PARSE_VERSION = $(EP_VERSION).$(EP_PATCHLEVEL).$(EP_EXTRAVERSION) +LIB_TARGET = libtraceevent.a libtraceevent.so.$(EVENT_PARSE_VERSION) +LIB_INSTALL = libtraceevent.a libtraceevent.so* + INCLUDES = -I. -I $(srctree)/tools/include $(CONFIG_INCLUDES) # Set compile option CFLAGS @@ -171,8 +172,10 @@ all_cmd: $(CMD_TARGETS) $(TE_IN): force $(Q)$(MAKE) $(build)=libtraceevent -$(OUTPUT)libtraceevent.so: $(TE_IN) - $(QUIET_LINK)$(CC) --shared $^ -o $@ +$(OUTPUT)libtraceevent.so.$(EVENT_PARSE_VERSION): $(TE_IN) + $(QUIET_LINK)$(CC) --shared $^ -Wl,-soname,libtraceevent.so.$(EP_VERSION) -o $@ + @ln -sf $(@F) $(OUTPUT)libtraceevent.so + @ln -sf $(@F) $(OUTPUT)libtraceevent.so.$(EP_VERSION) $(OUTPUT)libtraceevent.a: $(TE_IN) $(QUIET_LINK)$(RM) $@; $(AR) rcs $@ $^ @@ -262,7 +265,8 @@ endef install_lib: all_cmd install_plugins $(call QUIET_INSTALL, $(LIB_TARGET)) \ - $(call do_install,$(LIB_TARGET),$(libdir_SQ)) + $(call do_install_mkdir,$(libdir_SQ)); \ + cp -fpR $(LIB_INSTALL) $(DESTDIR)$(libdir_SQ) install_plugins: $(PLUGINS) $(call QUIET_INSTALL, trace_plugins) \ |