From b48aae50a872b9db3c595f2b0e2277087c7819d9 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Wed, 16 Dec 2015 12:31:08 +0000 Subject: [PATCH] stubdom: recurse into tools/include in mk-headers-$(XEN_TARGET_ARCH) rule ... rather than in the libxc rule. This puts all the header dependencies in one place and will allow us to avoid races when more libraries which need these headers are introduced. I observed issues with the xen-foreign/tmp.size file getting deleted in parallel with another process trying to use it. The mini-os links are already created in the mk-headers-$(XEN_TARGET_ARCH) target so the other places which do so are redundant, in the case of polarssl and vtpmmgr indirectly through their eventual dependency on newlib which in turn depends on mk-headers-$(XEN_TARGET_ARCH). Signed-off-by: Ian Campbell Acked-by: Samuel Thibault Acked-by: Wei Liu Cc: samuel.thibault@ens-lyon.org --- stubdom/Makefile | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/stubdom/Makefile b/stubdom/Makefile index e1359cfaf7..fd840249ec 100644 --- a/stubdom/Makefile +++ b/stubdom/Makefile @@ -304,6 +304,7 @@ ioemu/linkfarm.stamp: endif mk-headers-$(XEN_TARGET_ARCH): $(IOEMU_LINKFARM_TARGET) + $(MAKE) -C $(XEN_ROOT)/tools/include mkdir -p include/xen && \ ln -sf $(wildcard $(XEN_ROOT)/xen/include/public/*.h) include/xen && \ ln -sf $(addprefix $(XEN_ROOT)/xen/include/public/,arch-x86 hvm io xsm) include/xen && \ @@ -341,9 +342,7 @@ $(TARGETS_MINIOS): mini-os-%: .PHONY: libxc libxc: libxc-$(XEN_TARGET_ARCH)/libxenctrl.a libxc-$(XEN_TARGET_ARCH)/libxenguest.a -libxc-$(XEN_TARGET_ARCH)/libxenctrl.a: cross-zlib - $(MAKE) -C $(XEN_ROOT)/tools/include - $(MAKE) DESTDIR= -C $(MINI_OS) links +libxc-$(XEN_TARGET_ARCH)/libxenctrl.a: mk-headers-$(XEN_TARGET_ARCH) cross-zlib CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= CONFIG_LIBXC_MINIOS=y -C libxc-$(XEN_TARGET_ARCH) libxc-$(XEN_TARGET_ARCH)/libxenguest.a: libxc-$(XEN_TARGET_ARCH)/libxenctrl.a @@ -386,7 +385,6 @@ c: $(CROSS_ROOT) .PHONY: vtpm vtpm: cross-polarssl cross-tpmemu - make -C $(MINI_OS) links XEN_TARGET_ARCH="$(XEN_TARGET_ARCH)" CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@ ###### @@ -395,7 +393,6 @@ vtpm: cross-polarssl cross-tpmemu .PHONY: vtpmmgr vtpmmgr: cross-polarssl - make -C $(MINI_OS) links XEN_TARGET_ARCH="$(XEN_TARGET_ARCH)" CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@ ###### -- 2.30.2