From owner-freebsd-current@FreeBSD.ORG Thu Feb 10 14:09:13 2011 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B41A0106566C; Thu, 10 Feb 2011 14:09:13 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 6BEE58FC15; Thu, 10 Feb 2011 14:09:13 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id D978B46B06; Thu, 10 Feb 2011 09:09:12 -0500 (EST) Received: from jhbbsd.localnet (unknown [209.249.190.10]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id EE33C8A009; Thu, 10 Feb 2011 09:09:11 -0500 (EST) From: John Baldwin To: "Bjoern A. Zeeb" Date: Thu, 10 Feb 2011 09:07:06 -0500 User-Agent: KMail/1.13.5 (FreeBSD/7.4-CBSD-20110107; KDE/4.4.5; amd64; ; ) References: <201102100813.13803.jhb@freebsd.org> <20110210131731.P80258@maildrop.int.zabbadoz.net> In-Reply-To: <20110210131731.P80258@maildrop.int.zabbadoz.net> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201102100907.06680.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (bigwig.baldwin.cx); Thu, 10 Feb 2011 09:09:12 -0500 (EST) X-Virus-Scanned: clamav-milter 0.96.3 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=0.5 required=4.2 tests=BAYES_00,MAY_BE_FORGED, RDNS_DYNAMIC autolearn=no version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on bigwig.baldwin.cx Cc: Alexander Kabaev , FreeBSD current mailing list Subject: Re: [PATCH] Add a 'make toolchains' target X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Feb 2011 14:09:13 -0000 On Thursday, February 10, 2011 8:22:00 am Bjoern A. Zeeb wrote: > On Thu, 10 Feb 2011, John Baldwin wrote: > > > This patch adds a 'make toolchains' target that invokes 'make toolchain' for > > each target. The use case I want it for is a cheaper way to just test kernels > > via make tinderbox so I can do: > > > > make toolchains > > make MAKE_JUST_KERNELS=yes tinderbox > > > > It is implemented by adding a new frob to tweak the target that make universe > > builds for the world stage of universe (UNIVERSE_TARGET). If that frob is > > set, then the kernel build step for a universe is skipped. With this, the > > toolchains target is a simple wrapper for: > > > > make UNIVERSE_TARGET=toolchains universe > > > > Index: Makefile > > =================================================================== > > --- Makefile (revision 218481) > > +++ Makefile (working copy) > > @@ -30,6 +30,7 @@ > > # delete-old-libs - Delete obsolete libraries. > > # targets - Print a list of supported TARGET/TARGET_ARCH pairs > > # for world and kernel targets. > > +# toolchains - Build a toolchain for all world and kernel targets. > > Should also go to build(7). Ok. > > # This makefile is simple by design. The FreeBSD make automatically reads > > # the /usr/share/mk/sys.mk unless the -m argument is specified on the > > @@ -307,9 +308,11 @@ make: .PHONY > > ${MMAKE} install DESTDIR=${MAKEPATH} BINDIR= > > > > tinderbox: > > - @cd ${.CURDIR} && \ > > - DOING_TINDERBOX=YES ${MAKE} JFLAG=${JFLAG} universe > > + @cd ${.CURDIR} && ${MAKE} DOING_TINDERBOX=YES universe > > You lost th JFLAG again that you had lately added. On purpose? It was redundant. The JFLAG was already being passed via MAKEOPTIONS. > > +toolchains: > > + @cd ${.CURDIR} && ${MAKE} UNIVERSE_TARGET=toolchain universe > > + > > # > > # universe > > # > > @@ -328,6 +331,12 @@ TARGET_ARCHES_sun4v?= sparc64 > > TARGET_ARCHES_${target}?= ${target} > > .endfor > > > > +.if defined(UNIVERSE_TARGET) > > +MAKE_JUST_WORLDS= YES > > Not sure that's ideal but ok for a start; Eventually someone could think > that UNIVERSE_TARGET=kernels could replace the MAKE_JUST_KERNELS=yes. > With the current logic that however is almost impossible to do. > Call it UNIVERSE_WORLD_TARGET? Actually, I would love to have a 'kernels' target and use 'make UNIVERSE_TARGET=kernels universe' to replace MAKE_JUST_KERNELS, but the kernel build stuff is quite convoluted. One could though do something like 'make UNIVERSE_TARGET=buildkernel' assuming that 'make buildkernel' always chose a suitable KERNCONF (I'm betting it doesn't on powerpc64), so it's not strictly speaking just for world targets. I think the main idea is that if UNIVERSE_TARGET is set, only that step is done for all targets. Otherwise the default action is to build world + kernels for all targets. In that case having it be UNIVERSE_TARGET makes sense I think. -- John Baldwin