Quick hack to make fast kernel builds easier
David Schultz
das at FreeBSD.ORG
Sun Jan 11 11:22:32 PST 2009
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
$*
More information about the freebsd-arch
mailing list