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

Re: [Xen-devel] [PATCH 4/4] Makefile: Provide way to ship livepatch test files



On Wed, Jun 07, 2017 at 03:51:32PM +0100, Ian Jackson wrote:
> In the toplevel Makefile, provide build-tests and install-tests
> targets which descend into xen/test.  (dist-tests is provided
> automatically by the pattern rule, as is the convention here.)
> 
> We have to set BASEDIR ourselves, and use these curious runes, because
> the convention in Makefiles under xen/ is to "make -f Rules.mk" with
> BASEDIR set and to expect Rules.mk to reinvoke the per-directory
> Makefile.  (This is really very strange.)  Normally this invocation
> pattern is organised by the machinery in xen/Makefile (which sets
> BASEDIR) and Rules.mk, but we need to invoke it from outside that
> context.
> 
> In theory it would be nice to have a pattern rule %-tests.  But this
> is not the style in the rest of the toplevel Makefile; and doing that
> might interfere with the dist-% pattern rule.
> 
> None of this is invoked by default.  If install-tests or dist-tests is
> requested, the livepatches (the only current output from xen/tests)
> are shipped in DESTDIR/usr/lib/debug/xen-livepatch/.
> 
> This allows CI systems such as osstest which are trying to consume
> this to arrange for the files to be built, and output, without them
> having to have special knowledge of the details of Xen's build syste.
> 
> CC: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>

Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>

> Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
> ---
>  Makefile | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/Makefile b/Makefile
> index 2ff33df..0b5f57d 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -144,6 +144,17 @@ tools/firmware/ovmf-dir-force-update:
>  install-docs:
>       $(MAKE) -C docs install
>  
> +# We only have build-tests install-tests, not uninstall-tests etc.
> +.PHONY: build-tests
> +build-tests: build-xen
> +     export BASEDIR=$(XEN_ROOT)/xen; \
> +     $(MAKE) -f $$BASEDIR/Rules.mk -C xen/test build
> +
> +.PHONY: install-tests
> +install-tests: install-xen
> +     export BASEDIR=$(XEN_ROOT)/xen; \
> +     $(MAKE) -f $$BASEDIR/Rules.mk -C xen/test install
> +
>  # build xen and the tools and place them in the install
>  # directory. 'make install' should then copy them to the normal system
>  # directories
> -- 
> 2.1.4
> 

_______________________________________________
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®.