From owner-freebsd-arch@FreeBSD.ORG Sun Jan 11 19:22:32 2009 Return-Path: Delivered-To: arch@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D93D106564A for ; Sun, 11 Jan 2009 19:22:32 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id 1E36F8FC1E for ; Sun, 11 Jan 2009 19:22:31 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.3/8.14.2) with ESMTP id n0BJCpRT074522; Sun, 11 Jan 2009 14:12:51 -0500 (EST) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.3/8.14.2/Submit) id n0BJCpkS074521; Sun, 11 Jan 2009 14:12:51 -0500 (EST) (envelope-from das@FreeBSD.ORG) Date: Sun, 11 Jan 2009 14:12:51 -0500 From: David Schultz To: Ed Schouten Message-ID: <20090111191251.GA74450@zim.MIT.EDU> Mail-Followup-To: Ed Schouten , "M. Warner Losh" , arch@FreeBSD.ORG References: <20090111.095109.-1112748421.imp@bsdimp.com> <20090111172427.GD89178@hoeg.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090111172427.GD89178@hoeg.nl> Cc: arch@FreeBSD.ORG Subject: Re: Quick hack to make fast kernel builds easier X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2009 19:22:32 -0000 On Sun, Jan 11, 2009, Ed Schouten wrote: > I often just run `make' in /usr/obj/..., > which also saves some typing, but unfortunately that doesn't work when > cross compiling. Also, as far as I know, there's no convenient way to rebuild a single module for another architecture. I use the following script called 'arch' to set the appropriate environment variables, so if I've already run 'make universe' and I want to rebuild libc for sparc64, I say: cd /usr/src/lib/libc && arch sparc64 make It would be nice if there were a better mechanism for this that's integrated into the build system. #!/bin/sh arch=$1 basepath=/usr/src export __MAKE_CONF=/dev/null export MAKEOBJDIRPREFIX=/usr/obj/${arch} export MACHINE_ARCH=${arch} export MACHINE=${arch} export CPUTYPE= export GROFF_BIN_PATH=/usr/obj/${arch}${basepath}/tmp/legacy/usr/bin export GROFF_FONT_PATH=/usr/obj/${arch}${basepath}/tmp/legacy/usr/share/groff_font export GROFF_TMAC_PATH=/usr/obj/${arch}${basepath}/tmp/legacy/usr/share/tmac export _SHLIBDIRPREFIX=/usr/obj/${arch}${basepath}/tmp export INSTALL="sh /usr/src/tools/install.sh" export PATH=/usr/obj/${arch}${basepath}/tmp/legacy/usr/sbin:/usr/obj/${arch}${basepath}/tmp/legacy/usr/bin:/usr/obj/${arch}${basepath}/legacy/usr/games:/usr/obj/${arch}${basepath}/tmp/usr/sbin:/usr/obj/${arch}${basepath}/tmp/usr/bin:/usr/obj/${arch}${basepath}/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin DESTDIR=/usr/obj/${arch}${basepath}/tmp shift $*