From: Ian Jackson Date: Wed, 7 Jun 2017 14:05:44 +0000 (+0100) Subject: Makefile: Provide way to ship livepatch test files X-Git-Tag: archive/raspbian/4.11.1-1+rpi1~1^2~66^2~2035 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c55667bd0ad8f04688abfd5c6317709dc00f88ab;p=xen.git Makefile: Provide way to ship livepatch test files 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 system. Signed-off-by: Ian Jackson Reviewed-by: Konrad Rzeszutek Wilk Acked-by: Jan Beulich Acked-by: Wei Liu Release-acked-by: Julien Grall --- diff --git a/Makefile b/Makefile index 2ff33dfcce..0b5f57dabd 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