From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 908FCC433DF for ; Sun, 23 Aug 2020 09:50:25 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6986C2074D for ; Sun, 23 Aug 2020 09:50:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6986C2074D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1k9mdh-0001rS-JA; Sun, 23 Aug 2020 09:50:13 +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 1k9mdg-0001rM-GN for xen-devel@lists.xenproject.org; Sun, 23 Aug 2020 09:50:12 +0000 X-Inumbo-ID: df19155a-21f5-475e-aa97-5d31e9023737 Received: from hera.aquilenet.fr (unknown [185.233.100.1]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id df19155a-21f5-475e-aa97-5d31e9023737; Sun, 23 Aug 2020 09:50:10 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 9E20E4C17; Sun, 23 Aug 2020 11:50:09 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7uLcNz6lvT_z; Sun, 23 Aug 2020 11:50:08 +0200 (CEST) Received: from function (lfbn-bor-1-797-11.w86-234.abo.wanadoo.fr [86.234.239.11]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 901AA4BFF; Sun, 23 Aug 2020 11:50:08 +0200 (CEST) Received: from samy by function with local (Exim 4.94) (envelope-from ) id 1k9mdb-00CJ9b-K7; Sun, 23 Aug 2020 11:50:07 +0200 Date: Sun, 23 Aug 2020 11:50:07 +0200 From: Samuel Thibault To: Juergen Gross Cc: xen-devel@lists.xenproject.org, Ian Jackson , Wei Liu Subject: Re: [PATCH v3 08/38] stubdom: simplify building xen libraries for stubdoms Message-ID: <20200823095007.qgeh3mugnfat4i4a@function> Mail-Followup-To: Samuel Thibault , Juergen Gross , xen-devel@lists.xenproject.org, Ian Jackson , Wei Liu References: <20200823093519.18386-1-jgross@suse.com> <20200823093519.18386-9-jgross@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200823093519.18386-9-jgross@suse.com> Organization: I am not organized User-Agent: NeoMutt/20170609 (1.8.3) 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" Juergen Gross, le dim. 23 août 2020 11:34:49 +0200, a ecrit: > 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. Ah, sorry, I should have read the series before reviewing :) > Even if not needed right now add the possibility for defining > additional dependencies for a library. So I fully agree :) Reviewed-by: Samuel Thibault > Signed-off-by: Juergen Gross > --- > 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 > > +####### > +# libraries under tools/libs > +####### > + > +STUB_LIBS := toolcore toollog evtchn gnttab call foreignmemory devicemodel > + > +####### > +# common handling > +####### > + > define do_links > mkdir -p $(dir $@)include > cd $(dir $@); \ > @@ -337,26 +347,21 @@ define do_links > touch $@ > endef > > -libs-$(XEN_TARGET_ARCH)/toolcore/stamp: $(XEN_ROOT)/tools/libs/toolcore/Makefile > - $(do_links) > - > -libs-$(XEN_TARGET_ARCH)/toollog/stamp: $(XEN_ROOT)/tools/libs/toollog/Makefile > - $(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="$$(TARGET_CPPFLAGS)" CFLAGS="$$(TARGET_CFLAGS)" $$(MAKE) DESTDIR= CONFIG_LIBXC_MINIOS=y -C libs-$$(XEN_TARGET_ARCH)/$(1) > > -libs-$(XEN_TARGET_ARCH)/evtchn/stamp: $(XEN_ROOT)/tools/libs/evtchn/Makefile > - $(do_links) > + clean-libxen$(1): > + [ ! -e libs-$$(XEN_TARGET_ARCH)/$(1)/Makefile ] || $$(MAKE) DESTDIR= -C libs-$$(XEN_TARGET_ARCH)/$(1) clean > > -libs-$(XEN_TARGET_ARCH)/gnttab/stamp: $(XEN_ROOT)/tools/libs/gnttab/Makefile > - $(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/foreignmemory/Makefile > - $(do_links) > + libs-$$(XEN_TARGET_ARCH)/$(1)/stamp: $$(XEN_ROOT)/tools/libs/$(1)/Makefile > + $$(do_links) > +endef > > -libs-$(XEN_TARGET_ARCH)/devicemodel/stamp: $(XEN_ROOT)/tools/libs/devicemodel/Makefile > - $(do_links) > +$(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib)))) > > 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) > > -LINK_LIBS_DIRS := toolcore toollog evtchn gnttab call foreignmemory devicemodel > -LINK_DIRS := libxc-$(XEN_TARGET_ARCH) xenstore $(foreach dir,$(LINK_LIBS_DIRS),libs-$(XEN_TARGET_ARCH)/$(dir)) > +LINK_DIRS := libxc-$(XEN_TARGET_ARCH) xenstore $(foreach dir,$(STUB_LIBS),libs-$(XEN_TARGET_ARCH)/$(dir)) > LINK_STAMPS := $(foreach dir,$(LINK_DIRS),$(dir)/stamp) > > mk-headers-$(XEN_TARGET_ARCH): $(IOEMU_LINKFARM_TARGET) $(LINK_STAMPS) > @@ -388,76 +392,6 @@ $(TARGETS_MINIOS): mini-os-%: > mkdir -p $@/$$i ; \ > done > > -####### > -# 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="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -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_ARCH) $(NEWLIB_STAMPFILE) > - CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -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_ARCH) $(NEWLIB_STAMPFILE) > - CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -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_ARCH) $(NEWLIB_STAMPFILE) > - CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -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="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/call > - > -####### > -# libxenforeignmemory > -####### > - > -.PHONY: libxenforeignmemory > -libxenforeignmemory: libs-$(XEN_TARGET_ARCH)/foreignmemory/libxenforeignmemory.a > -libs-$(XEN_TARGET_ARCH)/foreignmemory/libxenforeignmemory.a: $(LIBDEPS_foreignmemory) > -libs-$(XEN_TARGET_ARCH)/foreignmemory/libxenforeignmemory.a: mk-headers-$(XEN_TARGET_ARCH) $(NEWLIB_STAMPFILE) > - CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -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_devicemodel) > -libs-$(XEN_TARGET_ARCH)/devicemodel/libxendevicemodel.a: mk-headers-$(XEN_TARGET_ARCH) $(NEWLIB_STAMPFILE) > - CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/devicemodel > - > ####### > # libxc > ####### > @@ -672,6 +606,7 @@ uninstall-vtpmmgr: > > # 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= -C libs-$(XEN_TARGET_ARCH)/toolcore clean > - [ ! -e libs-$(XEN_TARGET_ARCH)/toollog/Makefile ] || $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/toollog clean > - [ ! -e libs-$(XEN_TARGET_ARCH)/evtchn/Makefile ] || $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/evtchn clean > - [ ! -e libs-$(XEN_TARGET_ARCH)/gnttab/Makefile ] || $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/gnttab clean > - [ ! -e libs-$(XEN_TARGET_ARCH)/call/Makefile ] || $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/call clean > - [ ! -e libs-$(XEN_TARGET_ARCH)/foreignmemory/Makefile ] || $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/foreignmemory clean > - [ ! -e libs-$(XEN_TARGET_ARCH)/devicemodel/Makefile ] || $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/devicemodel clean > [ ! -e libxc-$(XEN_TARGET_ARCH)/Makefile ] || $(MAKE) DESTDIR= -C libxc-$(XEN_TARGET_ARCH) clean > -[ ! -d ioemu ] || $(MAKE) DESTDIR= -C ioemu clean > -[ ! -d xenstore ] || $(MAKE) DESTDIR= -C xenstore clean > -- > 2.26.2 > -- Samuel la vraie vie, c'est quand le prompt passe de $ à #