On Wed, May 06, 2015 at 10:00:20AM +0000, Wang Nan wrote:
> Before this patch, 'make install' installs libraries into bindir:
> 
>   $ make install DESTDIR=./tree
>    INSTALL  trace_plugins
>    INSTALL  libtraceevent.a
>    INSTALL  libtraceevent.so
>   $ find ./tree
>    ./tree/
>    ./tree/usr
>    ./tree/usr/local
>    ./tree/usr/local/bin
>    ./tree/usr/local/bin/libtraceevent.a
>    ./tree/usr/local/bin/libtraceevent.so
>    ...
> 
> /usr/local/lib( or lib64) should be a better place.
> 
> This patch replaces 'bin' with libdir. For __LP64__ building, libraries
> are installed to /usr/local/lib64. For other building, to
> /usr/local/lib instead.
> 
> After applying this patch:
> 
>   $ make install DESTDIR=./tree
>    INSTALL  trace_plugins
>    INSTALL  libtraceevent.a
>    INSTALL  libtraceevent.so
>   $ find ./tree
>    ./tree
>    ./tree/usr
>    ./tree/usr/local
>    ./tree/usr/local/lib64
>    ./tree/usr/local/lib64/libtraceevent.a
>    ./tree/usr/local/lib64/traceevent
>    ./tree/usr/local/lib64/traceevent/plugins
>    ./tree/usr/local/lib64/traceevent/plugins/plugin_mac80211.so
>    ./tree/usr/local/lib64/traceevent/plugins/plugin_hrtimer.so
>    ...
>    ./tree/usr/local/lib64/libtraceevent.so
> 
> Signed-off-by: Wang Nan <wangn...@huawei.com>

Acked-by: Jiri Olsa <jo...@kernel.org>

CC-ing Steven

thanks,
jirka


> ---
> 
> v1 -> v2: check __LP64__ and use 'lib64' as libdir for 64 bit building.
> 
> ---
> 
>  tools/lib/traceevent/Makefile | 20 +++++++++++++-------
>  1 file changed, 13 insertions(+), 7 deletions(-)
> 
> diff --git a/tools/lib/traceevent/Makefile b/tools/lib/traceevent/Makefile
> index d410da3..8464039 100644
> --- a/tools/lib/traceevent/Makefile
> +++ b/tools/lib/traceevent/Makefile
> @@ -34,9 +34,15 @@ INSTALL = install
>  DESTDIR ?=
>  DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))'
>  
> +LP64 := $(shell echo __LP64__ | ${CC} ${CFLAGS} -E -x c - | tail -n 1)
> +ifeq ($(LP64), 1)
> +  libdir_relative = lib64
> +else
> +  libdir_relative = lib
> +endif
> +
>  prefix ?= /usr/local
> -bindir_relative = bin
> -bindir = $(prefix)/$(bindir_relative)
> +libdir = $(prefix)/$(libdir_relative)
>  man_dir = $(prefix)/share/man
>  man_dir_SQ = '$(subst ','\'',$(man_dir))'
>  
> @@ -58,7 +64,7 @@ ifeq ($(prefix),$(HOME))
>  override plugin_dir = $(HOME)/.traceevent/plugins
>  set_plugin_dir := 0
>  else
> -override plugin_dir = $(prefix)/lib/traceevent/plugins
> +override plugin_dir = $(libdir)/traceevent/plugins
>  endif
>  endif
>  
> @@ -85,11 +91,11 @@ srctree := $(patsubst %/,%,$(dir $(srctree)))
>  #$(info Determined 'srctree' to be $(srctree))
>  endif
>  
> -export prefix bindir src obj
> +export prefix libdir src obj
>  
>  # Shell quotes
> -bindir_SQ = $(subst ','\'',$(bindir))
> -bindir_relative_SQ = $(subst ','\'',$(bindir_relative))
> +libdir_SQ = $(subst ','\'',$(libdir))
> +libdir_relative_SQ = $(subst ','\'',$(libdir_relative))
>  plugin_dir_SQ = $(subst ','\'',$(plugin_dir))
>  
>  LIB_FILE = libtraceevent.a libtraceevent.so
> @@ -240,7 +246,7 @@ endef
>  
>  install_lib: all_cmd install_plugins
>       $(call QUIET_INSTALL, $(LIB_FILE)) \
> -             $(call do_install,$(LIB_FILE),$(bindir_SQ))
> +             $(call do_install,$(LIB_FILE),$(libdir_SQ))
>  
>  install_plugins: $(PLUGINS)
>       $(call QUIET_INSTALL, trace_plugins) \
> -- 
> 1.8.3.4
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to