From: Fam Zheng <famz@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: mjt@tls.msk.ru, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 1/2] build: simplify and fix fix-obj-vars
Date: Thu, 8 May 2014 21:40:50 +0800 [thread overview]
Message-ID: <20140508134050.GA4827@T430.nay.redhat.com> (raw)
In-Reply-To: <1399554527-22262-2-git-send-email-pbonzini@redhat.com>
On Thu, 05/08 15:08, Paolo Bonzini wrote:
> fix-obj-vars has the undesired side effect of breaking -cflags
> -objs and -libs variables in the toplevel Makefile.objs. The
> variables in the toplevel Makefile.objs do not need any fix,
> so fix-obj-vars need not do anything.
>
> Since we are touching it, remove the now unnecessary $(if)
> in the callers.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> rules.mak | 15 ++++++++-------
> 1 file changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/rules.mak b/rules.mak
> index c0c3d86..26014c5 100644
> --- a/rules.mak
> +++ b/rules.mak
> @@ -175,16 +175,17 @@ $(eval save-$2-$1 :=)
> endef
>
> define fix-obj-vars
> -$(foreach v,$($1), \
> +$(if $2,
> + $(foreach v,$($1), \
Not very consistent in indentation. BTW what's the right space/tab style to
use in Makefiles for multi-line macros like this?
> $(if $($v-cflags), \
> - $(eval $2$v-cflags := $($v-cflags)) \
> + $(eval $2/$v-cflags := $($v-cflags)) \
> $(eval $v-cflags := )) \
> $(if $($v-libs), \
> - $(eval $2$v-libs := $($v-libs)) \
> + $(eval $2/$v-libs := $($v-libs)) \
> $(eval $v-libs := )) \
> $(if $($v-objs), \
> - $(eval $2$v-objs := $(addprefix $2,$($v-objs))) \
> - $(eval $v-objs := )))
> + $(eval $2/$v-objs := $(addprefix $2/,$($v-objs))) \
> + $(eval $v-objs := ))))
> endef
>
> define unnest-dir
> @@ -192,7 +193,7 @@ $(foreach var,$(nested-vars),$(call push-var,$(var),$1/))
> $(eval obj-parent-$1 := $(obj))
> $(eval obj := $(if $(obj),$(obj)/$1,$1))
> $(eval include $(SRC_PATH)/$1/Makefile.objs)
> -$(foreach v,$(nested-vars),$(call fix-obj-vars,$v,$(if $(obj),$(obj)/)))
> +$(foreach v,$(nested-vars),$(call fix-obj-vars,$v,$(obj)))
> $(eval obj := $(obj-parent-$1))
> $(eval obj-parent-$1 := )
> $(foreach var,$(nested-vars),$(call pop-var,$(var),$1/))
> @@ -228,7 +229,7 @@ endef
> define unnest-vars
> $(eval obj := $1)
> $(eval nested-vars := $2)
> -$(foreach v,$(nested-vars),$(call fix-obj-vars,$v,$(if $(obj),$(obj)/)))
I'm not sure about this removed line since it's not in master, maybe you missed
a patch to squash?
> +$(foreach v,$(nested-vars),$(call fix-obj-vars,$v,$(obj)))
But the new line looks good.
Thanks,
Reviewed-by: Fam Zheng <famz@redhat.com>
> $(eval old-nested-dirs := )
> $(call unnest-vars-1)
> $(if $1,$(foreach v,$(nested-vars),$(eval \
> --
> 1.8.3.1
>
>
>
next prev parent reply other threads:[~2014-05-08 13:40 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-08 13:08 [Qemu-devel] [PATCH 0/2] build: simplify and fix fix-obj-vars, more libcacard cleanups Paolo Bonzini
2014-05-08 13:08 ` [Qemu-devel] [PATCH 1/2] build: simplify and fix fix-obj-vars Paolo Bonzini
2014-05-08 13:40 ` Fam Zheng [this message]
2014-05-08 14:39 ` Paolo Bonzini
2014-05-08 13:08 ` [Qemu-devel] [PATCH 2/2] build: more libcacard cleanups Paolo Bonzini
2014-05-08 13:16 ` Michael Tokarev
2014-05-08 13:28 ` Paolo Bonzini
2014-05-08 13:33 ` Michael Tokarev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140508134050.GA4827@T430.nay.redhat.com \
--to=famz@redhat.com \
--cc=mjt@tls.msk.ru \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).