From nobody Mon Feb 9 16:01:56 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1598175365; cv=none; d=zohomail.com; s=zohoarc; b=Ll8iSQUlj0dyrrMDsKHSPY/n1sf5Tlzf+do3DR/f/KhGtIcc0890ndkiTAdwck5S9cF07DsR/KKjjlZ06vJMmu6AZjgGpqrgYafvnF1GsWrnJggKLkqXRg9vvdvsSDyZWd/6QGaymsKxy+zSSdTLW4OApuyh3KYSaTMxL6t7/aU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598175365; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=B0PS0knty5VDgJYJJ2yAq7zZhFieLpF972y7u1qc3rw=; b=Fbr69OAwjv8ujg/EXLHujxd3NNzHzSnAoYfaSn/QNa8a4zAl13jCVZRiYhzX6IYT2x59FuTDNT3PFlZKkky+09SzX+n81XY2Yo72Jg+DORKvng1JSal/xr22H9Yw6aquM9gNwGJikr6xpQM1L0qU9qZMzd87rZNYRCm9kIHBGno= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1598175365752175.5432784194045; Sun, 23 Aug 2020 02:36:05 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1k9mPa-0004ye-4U; Sun, 23 Aug 2020 09:35:38 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1k9mPY-0004t9-Ry for xen-devel@lists.xenproject.org; Sun, 23 Aug 2020 09:35:36 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 84808e03-5e73-4a97-9599-33ffbbfa352a; Sun, 23 Aug 2020 09:35:26 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 413C3ADE0; Sun, 23 Aug 2020 09:35:53 +0000 (UTC) X-Inumbo-ID: 84808e03-5e73-4a97-9599-33ffbbfa352a X-Virus-Scanned: by amavisd-new at test-mx.suse.de From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Ian Jackson , Wei Liu , Samuel Thibault Subject: [PATCH v3 08/38] stubdom: simplify building xen libraries for stubdoms Date: Sun, 23 Aug 2020 11:34:49 +0200 Message-Id: <20200823093519.18386-9-jgross@suse.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200823093519.18386-1-jgross@suse.com> References: <20200823093519.18386-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Content-Type: text/plain; charset="utf-8" The pattern for building a Xen library with sources under tools/libs is always the same. Simplify stubdom/Makefile by defining a callable make program for those libraries. Even if not needed right now add the possibility for defining additional dependencies for a library. Signed-off-by: Juergen Gross Reviewed-by: Samuel Thibault --- stubdom/Makefile | 120 ++++++++++------------------------------------- 1 file changed, 24 insertions(+), 96 deletions(-) diff --git a/stubdom/Makefile b/stubdom/Makefile index a95212e363..4fd86dd44b 100644 --- a/stubdom/Makefile +++ b/stubdom/Makefile @@ -327,6 +327,16 @@ ioemu/linkfarm.stamp: touch ioemu/linkfarm.stamp endif =20 +####### +# libraries under tools/libs +####### + +STUB_LIBS :=3D toolcore toollog evtchn gnttab call foreignmemory devicemod= el + +####### +# common handling +####### + define do_links mkdir -p $(dir $@)include cd $(dir $@); \ @@ -337,26 +347,21 @@ define do_links touch $@ endef =20 -libs-$(XEN_TARGET_ARCH)/toolcore/stamp: $(XEN_ROOT)/tools/libs/toolcore/Ma= kefile - $(do_links) - -libs-$(XEN_TARGET_ARCH)/toollog/stamp: $(XEN_ROOT)/tools/libs/toollog/Make= file - $(do_links) +define BUILD_lib + .PHONY: libxen$(1) clean-libxen$(1) + libxen$(1): libs-$$(XEN_TARGET_ARCH)/$(1)/libxen$(1).a + libs-$$(XEN_TARGET_ARCH)/$(1)/libxen$(1).a: $$(LIBDEPS_$(1)) $$(LIBDEP_$(= 1)) + libs-$$(XEN_TARGET_ARCH)/$(1)/libxen$(1).a: mk-headers-$$(XEN_TARGET_ARCH= ) $$(NEWLIB_STAMPFILE) + CPPFLAGS=3D"$$(TARGET_CPPFLAGS)" CFLAGS=3D"$$(TARGET_CFLAGS)" $$(MAKE) DE= STDIR=3D CONFIG_LIBXC_MINIOS=3Dy -C libs-$$(XEN_TARGET_ARCH)/$(1) =20 -libs-$(XEN_TARGET_ARCH)/evtchn/stamp: $(XEN_ROOT)/tools/libs/evtchn/Makefi= le - $(do_links) + clean-libxen$(1): + [ ! -e libs-$$(XEN_TARGET_ARCH)/$(1)/Makefile ] || $$(MAKE) DESTDIR=3D -C= libs-$$(XEN_TARGET_ARCH)/$(1) clean =20 -libs-$(XEN_TARGET_ARCH)/gnttab/stamp: $(XEN_ROOT)/tools/libs/gnttab/Makefi= le - $(do_links) - -libs-$(XEN_TARGET_ARCH)/call/stamp: $(XEN_ROOT)/tools/libs/call/Makefile - $(do_links) - -libs-$(XEN_TARGET_ARCH)/foreignmemory/stamp: $(XEN_ROOT)/tools/libs/foreig= nmemory/Makefile - $(do_links) + libs-$$(XEN_TARGET_ARCH)/$(1)/stamp: $$(XEN_ROOT)/tools/libs/$(1)/Makefile + $$(do_links) +endef =20 -libs-$(XEN_TARGET_ARCH)/devicemodel/stamp: $(XEN_ROOT)/tools/libs/devicemo= del/Makefile - $(do_links) +$(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib)))) =20 libxc-$(XEN_TARGET_ARCH)/stamp: $(XEN_ROOT)/tools/libxc/Makefile $(do_links) @@ -364,8 +369,7 @@ libxc-$(XEN_TARGET_ARCH)/stamp: $(XEN_ROOT)/tools/libxc= /Makefile xenstore/stamp: $(XEN_ROOT)/tools/xenstore/Makefile $(do_links) =20 -LINK_LIBS_DIRS :=3D toolcore toollog evtchn gnttab call foreignmemory devi= cemodel -LINK_DIRS :=3D libxc-$(XEN_TARGET_ARCH) xenstore $(foreach dir,$(LINK_LIBS= _DIRS),libs-$(XEN_TARGET_ARCH)/$(dir)) +LINK_DIRS :=3D libxc-$(XEN_TARGET_ARCH) xenstore $(foreach dir,$(STUB_LIBS= ),libs-$(XEN_TARGET_ARCH)/$(dir)) LINK_STAMPS :=3D $(foreach dir,$(LINK_DIRS),$(dir)/stamp) =20 mk-headers-$(XEN_TARGET_ARCH): $(IOEMU_LINKFARM_TARGET) $(LINK_STAMPS) @@ -388,76 +392,6 @@ $(TARGETS_MINIOS): mini-os-%: mkdir -p $@/$$i ; \ done =20 -####### -# libxentoolcore -####### - -.PHONY: libxentoolcore -libxentoolcore: libs-$(XEN_TARGET_ARCH)/toolcore/libxentoolcore.a -libs-$(XEN_TARGET_ARCH)/toolcore/libxentoolcore.a: $(LIBDEPS_toolcore) -libs-$(XEN_TARGET_ARCH)/toolcore/libxentoolcore.a: mk-headers-$(XEN_TARGET= _ARCH) $(NEWLIB_STAMPFILE) - CPPFLAGS=3D"$(TARGET_CPPFLAGS)" CFLAGS=3D"$(TARGET_CFLAGS)" $(MAKE) DESTD= IR=3D -C libs-$(XEN_TARGET_ARCH)/toolcore - -####### -# libxentoollog -####### - -.PHONY: libxentoollog -libxentoollog: libs-$(XEN_TARGET_ARCH)/toollog/libxentoollog.a -libs-$(XEN_TARGET_ARCH)/toollog/libxentoollog.a: $(LIBDEPS_toollog) -libs-$(XEN_TARGET_ARCH)/toollog/libxentoollog.a: mk-headers-$(XEN_TARGET_A= RCH) $(NEWLIB_STAMPFILE) - CPPFLAGS=3D"$(TARGET_CPPFLAGS)" CFLAGS=3D"$(TARGET_CFLAGS)" $(MAKE) DESTD= IR=3D -C libs-$(XEN_TARGET_ARCH)/toollog - -####### -# libxenevtchn -####### - -.PHONY: libxenevtchn -libxenevtchn: libs-$(XEN_TARGET_ARCH)/evtchn/libxenevtchn.a -libs-$(XEN_TARGET_ARCH)/evtchn/libxenevtchn.a: $(LIBDEPS_evtchn) -libs-$(XEN_TARGET_ARCH)/evtchn/libxenevtchn.a: mk-headers-$(XEN_TARGET_ARC= H) $(NEWLIB_STAMPFILE) - CPPFLAGS=3D"$(TARGET_CPPFLAGS)" CFLAGS=3D"$(TARGET_CFLAGS)" $(MAKE) DESTD= IR=3D -C libs-$(XEN_TARGET_ARCH)/evtchn - -####### -# libxengnttab -####### - -.PHONY: libxengnttab -libxengnttab: libs-$(XEN_TARGET_ARCH)/gnttab/libxengnttab.a -libs-$(XEN_TARGET_ARCH)/gnttab/libxengnttab.a: $(LIBDEPS_gnttab) -libs-$(XEN_TARGET_ARCH)/gnttab/libxengnttab.a: mk-headers-$(XEN_TARGET_ARC= H) $(NEWLIB_STAMPFILE) - CPPFLAGS=3D"$(TARGET_CPPFLAGS)" CFLAGS=3D"$(TARGET_CFLAGS)" $(MAKE) DESTD= IR=3D -C libs-$(XEN_TARGET_ARCH)/gnttab - -####### -# libxencall -####### - -.PHONY: libxencall -libxencall: libs-$(XEN_TARGET_ARCH)/call/libxencall.a -libs-$(XEN_TARGET_ARCH)/call/libxencall.a: $(LIBDEPS_call) -libs-$(XEN_TARGET_ARCH)/call/libxencall.a: mk-headers-$(XEN_TARGET_ARCH) $= (NEWLIB_STAMPFILE) - CPPFLAGS=3D"$(TARGET_CPPFLAGS)" CFLAGS=3D"$(TARGET_CFLAGS)" $(MAKE) DESTD= IR=3D -C libs-$(XEN_TARGET_ARCH)/call - -####### -# libxenforeignmemory -####### - -.PHONY: libxenforeignmemory -libxenforeignmemory: libs-$(XEN_TARGET_ARCH)/foreignmemory/libxenforeignme= mory.a -libs-$(XEN_TARGET_ARCH)/foreignmemory/libxenforeignmemory.a: $(LIBDEPS_for= eignmemory) -libs-$(XEN_TARGET_ARCH)/foreignmemory/libxenforeignmemory.a: mk-headers-$(= XEN_TARGET_ARCH) $(NEWLIB_STAMPFILE) - CPPFLAGS=3D"$(TARGET_CPPFLAGS)" CFLAGS=3D"$(TARGET_CFLAGS)" $(MAKE) DESTD= IR=3D -C libs-$(XEN_TARGET_ARCH)/foreignmemory - -####### -# libxendevicemodel -####### - -.PHONY: libxendevicemodel -libxendevicemodel: libs-$(XEN_TARGET_ARCH)/devicemodel/libxendevicemodel.a -libs-$(XEN_TARGET_ARCH)/devicemodel/libxendevicemodel.a: $(LIBDEPS_devicem= odel) -libs-$(XEN_TARGET_ARCH)/devicemodel/libxendevicemodel.a: mk-headers-$(XEN_= TARGET_ARCH) $(NEWLIB_STAMPFILE) - CPPFLAGS=3D"$(TARGET_CPPFLAGS)" CFLAGS=3D"$(TARGET_CFLAGS)" $(MAKE) DESTD= IR=3D -C libs-$(XEN_TARGET_ARCH)/devicemodel - ####### # libxc ####### @@ -672,6 +606,7 @@ uninstall-vtpmmgr: =20 # Only clean the libxc/ioemu/mini-os part .PHONY: clean +clean: $(foreach lib,$(STUB_LIBS),clean-libxen$(lib)) clean: rm -fr mini-os-$(XEN_TARGET_ARCH)-ioemu rm -fr mini-os-$(XEN_TARGET_ARCH)-c @@ -688,13 +623,6 @@ clean: rm -f $(STUBDOMPATH) rm -f *-minios-config.mk rm -fr pkg-config - [ ! -e libs-$(XEN_TARGET_ARCH)/toolcore/Makefile ] || $(MAKE) DESTDIR=3D = -C libs-$(XEN_TARGET_ARCH)/toolcore clean - [ ! -e libs-$(XEN_TARGET_ARCH)/toollog/Makefile ] || $(MAKE) DESTDIR=3D -= C libs-$(XEN_TARGET_ARCH)/toollog clean - [ ! -e libs-$(XEN_TARGET_ARCH)/evtchn/Makefile ] || $(MAKE) DESTDIR=3D -C= libs-$(XEN_TARGET_ARCH)/evtchn clean - [ ! -e libs-$(XEN_TARGET_ARCH)/gnttab/Makefile ] || $(MAKE) DESTDIR=3D -C= libs-$(XEN_TARGET_ARCH)/gnttab clean - [ ! -e libs-$(XEN_TARGET_ARCH)/call/Makefile ] || $(MAKE) DESTDIR=3D -C l= ibs-$(XEN_TARGET_ARCH)/call clean - [ ! -e libs-$(XEN_TARGET_ARCH)/foreignmemory/Makefile ] || $(MAKE) DESTDI= R=3D -C libs-$(XEN_TARGET_ARCH)/foreignmemory clean - [ ! -e libs-$(XEN_TARGET_ARCH)/devicemodel/Makefile ] || $(MAKE) DESTDIR= =3D -C libs-$(XEN_TARGET_ARCH)/devicemodel clean [ ! -e libxc-$(XEN_TARGET_ARCH)/Makefile ] || $(MAKE) DESTDIR=3D -C libxc= -$(XEN_TARGET_ARCH) clean -[ ! -d ioemu ] || $(MAKE) DESTDIR=3D -C ioemu clean -[ ! -d xenstore ] || $(MAKE) DESTDIR=3D -C xenstore clean --=20 2.26.2