From owner-freebsd-current@FreeBSD.ORG Thu Feb 10 13:25:08 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 4115A1065670; Thu, 10 Feb 2011 13:25:08 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.cksoft.de (mail.cksoft.de [IPv6:2001:4068:10::3]) by mx1.freebsd.org (Postfix) with ESMTP id 9614F8FC17; Thu, 10 Feb 2011 13:25:07 +0000 (UTC) Received: from localhost (amavis.fra.cksoft.de [192.168.74.71]) by mail.cksoft.de (Postfix) with ESMTP id 9BB7441C6BB; Thu, 10 Feb 2011 14:25:06 +0100 (CET) X-Virus-Scanned: amavisd-new at cksoft.de Received: from mail.cksoft.de ([192.168.74.103]) by localhost (amavis.fra.cksoft.de [192.168.74.71]) (amavisd-new, port 10024) with ESMTP id fzI65UCnuGWL; Thu, 10 Feb 2011 14:25:06 +0100 (CET) Received: by mail.cksoft.de (Postfix, from userid 66) id EA7C041C6A7; Thu, 10 Feb 2011 14:25:05 +0100 (CET) Received: from maildrop.int.zabbadoz.net (maildrop.int.zabbadoz.net [10.111.66.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.int.zabbadoz.net (Postfix) with ESMTP id 6FFEE4448F3; Thu, 10 Feb 2011 13:22:01 +0000 (UTC) Date: Thu, 10 Feb 2011 13:22:00 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@maildrop.int.zabbadoz.net To: John Baldwin In-Reply-To: <201102100813.13803.jhb@freebsd.org> Message-ID: <20110210131731.P80258@maildrop.int.zabbadoz.net> References: <201102100813.13803.jhb@freebsd.org> X-OpenPGP-Key: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed 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 13:25:08 -0000 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). > # 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? > +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? > +.else > +UNIVERSE_TARGET?= buildworld > +.endif > + > targets: > @echo "Supported TARGET/TARGET_ARCH pairs for world and kernel targets" > .for target in ${TARGETS} > @@ -361,16 +370,16 @@ universe_${target}_prologue: > .for target_arch in ${TARGET_ARCHES_${target}} > universe_${target}: universe_${target}_${target_arch} > universe_${target}_${target_arch}: universe_${target}_prologue > - @echo ">> ${target}.${target_arch} buildworld started on `LC_ALL=C date`" > + @echo ">> ${target}.${target_arch} ${UNIVERSE_TARGET} started on `LC_ALL=C > date`" > @(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \ > - ${MAKE} ${JFLAG} buildworld \ > + ${MAKE} ${JFLAG} ${UNIVERSE_TARGET} \ > TARGET=${target} \ > TARGET_ARCH=${target_arch} \ > - > _.${target}.${target_arch}.buildworld 2>&1 || \ > - (echo "${target}.${target_arch} world failed," \ > - "check _.${target}.${target_arch}.buildworld for details" | \ > + > _.${target}.${target_arch}.${UNIVERSE_TARGET} 2>&1 || \ > + (echo "${target}.${target_arch} ${UNIVERSE_TARGET} failed," \ > + "check _.${target}.${target_arch}.${UNIVERSE_TARGET} for details" | \ > ${MAKEFAIL})) > - @echo ">> ${target}.${target_arch} buildworld completed on `LC_ALL=C > date`" > + @echo ">> ${target}.${target_arch} ${UNIVERSE_TARGET} completed on > `LC_ALL=C date`" > .endfor > .endif > .if !defined(MAKE_JUST_WORLDS) > > -- Bjoern A. Zeeb You have to have visions! Stop bit received. Insert coin for new address family.