From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755064AbcANOa3 (ORCPT ); Thu, 14 Jan 2016 09:30:29 -0500 Received: from mail.kernel.org ([198.145.29.136]:58172 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754863AbcANO22 (ORCPT ); Thu, 14 Jan 2016 09:28:28 -0500 Date: Thu, 14 Jan 2016 11:28:23 -0300 From: Arnaldo Carvalho de Melo To: "Wangnan (F)" Cc: Jiri Olsa , linux-kernel@vger.kernel.org, pi3orama@163.com, lizefan@huawei.com, Jiri Olsa , Namhyung Kim Subject: Re: [PATCH 2/9] perf build: Pass O option to Makefile.perf in build-test Message-ID: <20160114142823.GR18367@kernel.org> References: <1452687442-6186-1-git-send-email-wangnan0@huawei.com> <1452687442-6186-3-git-send-email-wangnan0@huawei.com> <20160114093258.GA8715@krava.brq.redhat.com> <569770B6.4030803@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <569770B6.4030803@huawei.com> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Thu, Jan 14, 2016 at 05:56:06PM +0800, Wangnan (F) escreveu: > > > On 2016/1/14 17:32, Jiri Olsa wrote: > >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 > > I have strong motivation to avoid polluting source directory. yeah! > I have different platforms and sometime I want to build them > (cross-compile) parallelly. I use yocto for this. Yocto appends 'O' > automatically. This is good for building, but when I use the > framework for build-test I have to manually adjust the generated > scripts (and it would be regenerated again in next run) to make it > work, and also I'm unable to test them in parallel. > > For people who don't care about this, $(O_OPT) is empty so he/she > still tests without 'O=...' case. > > Thank you.