[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2] libxl: fix gentypes call in Makefile



On Thu, Nov 10, 2016 at 05:46:00PM +0100, Cédric Bosdonnat wrote:
> From the make documentation:
> 
> "$* [...] If the target is `dir/a.foo.b' and the target pattern is
> `a.%.b' then the stem is `dir/foo'. In a static pattern rule, the
> stem is part of the file name that matched the `%' in the target
> pattern."
> 
> The rule generating the c types files from the idl ones is not
> a static pattern rule, but rather an implicit rule. Thus the value
> of $* is preceded by the file path, instead of only what matches %.
> 
> In order to get this fixed, drop the path using a $(notdir $*).
> 
> Signed-off-by: Cédric Bosdonnat <cbosdonnat@xxxxxxxx>

OOI how did you discover this? Should we consider backporting this to
some older versions?

> ---
>   v2: use $(notdir $*) instead of $(shell basename $*)
> ---
>  tools/libxl/Makefile | 13 +++++++------
>  1 file changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index af0a3ad..4dbaa98 100644
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -250,12 +250,13 @@ $(LIBXL_OBJS) $(LIBXL_TEST_OBJS) $(LIBXLU_OBJS) \
>  $(LIBXL_OBJS) $(LIBXL_TEST_OBJS): libxl_internal.h
>  
>  _libxl_type%.h _libxl_type%_json.h _libxl_type%_private.h _libxl_type%.c: 
> libxl_type%.idl gentypes.py idl.py
> -     $(PYTHON) gentypes.py libxl_type$*.idl __libxl_type$*.h 
> __libxl_type$*_private.h \
> -             __libxl_type$*_json.h  __libxl_type$*.c
> -     $(call move-if-changed,__libxl_type$*.h,_libxl_type$*.h)
> -     $(call move-if-changed,__libxl_type$*_private.h,_libxl_type$*_private.h)
> -     $(call move-if-changed,__libxl_type$*_json.h,_libxl_type$*_json.h)
> -     $(call move-if-changed,__libxl_type$*.c,_libxl_type$*.c)
> +     $(eval stem = $(notdir $*))
> +     $(PYTHON) gentypes.py libxl_type$(stem).idl __libxl_type$(stem).h 
> __libxl_type$(stem)_private.h \
> +             __libxl_type$(stem)_json.h  __libxl_type$(stem).c
> +     $(call move-if-changed,__libxl_type$(stem).h,_libxl_type$(stem).h)
> +     $(call 
> move-if-changed,__libxl_type$(stem)_private.h,_libxl_type$(stem)_private.h)
> +     $(call 
> move-if-changed,__libxl_type$(stem)_json.h,_libxl_type$(stem)_json.h)
> +     $(call move-if-changed,__libxl_type$(stem).c,_libxl_type$(stem).c)
>  
>  libxenlight.so: libxenlight.so.$(MAJOR)
>       $(SYMLINK_SHLIB) $< $@
> -- 
> 2.10.1
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.