From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753286AbcANJdw (ORCPT ); Thu, 14 Jan 2016 04:33:52 -0500 Received: from mx1.redhat.com ([209.132.183.28]:51264 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753189AbcANJdB (ORCPT ); Thu, 14 Jan 2016 04:33:01 -0500 Date: Thu, 14 Jan 2016 10:32:58 +0100 From: Jiri Olsa To: Wang Nan Cc: acme@kernel.org, linux-kernel@vger.kernel.org, pi3orama@163.com, lizefan@huawei.com, Arnaldo Carvalho de Melo , Jiri Olsa , Namhyung Kim Subject: Re: [PATCH 2/9] perf build: Pass O option to Makefile.perf in build-test Message-ID: <20160114093258.GA8715@krava.brq.redhat.com> References: <1452687442-6186-1-git-send-email-wangnan0@huawei.com> <1452687442-6186-3-git-send-email-wangnan0@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1452687442-6186-3-git-send-email-wangnan0@huawei.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jan 13, 2016 at 12:17:15PM +0000, Wang Nan wrote: > Doesn't like tools/perf/Makefile, tools/perf/Makefile.perf obey 'O' > option when it is passed through cmdline only, because of code in > tools/scripts/Makefile.include: > > ifneq ($(O),) > ifeq ($(origin O), command line) > ... > ABSOLUTE_O := $(shell cd $(O) ; pwd) > OUTPUT := $(ABSOLUTE_O)/$(if $(subdir),$(subdir)/) > endif > endif > > This patch passes 'O' to Makefile.perf through cmdline explicitly > to make it follow O variable during build-test. > > Signed-off-by: Wang Nan > Cc: Arnaldo Carvalho de Melo > Cc: Jiri Olsa > Cc: Namhyung Kim > --- > tools/perf/tests/make | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/tools/perf/tests/make b/tools/perf/tests/make > index c0ee679..14d7b8d 100644 > --- a/tools/perf/tests/make > +++ b/tools/perf/tests/make > @@ -5,7 +5,7 @@ ifeq ($(MAKECMDGOALS),) > # no target specified, trigger the whole suite > all: > @echo "Testing Makefile"; $(MAKE) -sf tests/make MK=Makefile > - @echo "Testing Makefile.perf"; $(MAKE) -sf tests/make MK=Makefile.perf SET_PARALLEL=1 > + @echo "Testing Makefile.perf"; $(MAKE) -sf tests/make MK=Makefile.perf SET_PARALLEL=1 SET_O=1 > else > # run only specific test over 'Makefile' > %: > @@ -13,6 +13,14 @@ else > endif > else > PERF := . > +O_OPT := > + > +ifneq ($(O),) > + FULL_O := $(shell readlink -f $(O) || echo $(O)) > + ifeq ($(SET_O),1) > + O_OPT := 'O=$(FULL_O)' > + endif > +endif > > PARALLEL_OPT= > ifeq ($(SET_PARALLEL),1) > @@ -261,7 +269,7 @@ clean := @(cd $(PERF); make -s -f $(MK) clean >/dev/null) > $(run): > $(call clean) > @TMP_DEST=$$(mktemp -d); \ > - cmd="cd $(PERF) && make -f $(MK) $(PARALLEL_OPT) DESTDIR=$$TMP_DEST $($@)"; \ > + cmd="cd $(PERF) && make -f $(MK) $(PARALLEL_OPT) $(O_OPT) DESTDIR=$$TMP_DEST $($@)"; \ hum, but this set is to test make without O=... so why would you set it? run_O is the target for O=... tests thanks, jirka