File:  [ELWIX - Embedded LightWeight unIX -] / elwix / build_kernel.sh
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Tue Jul 5 23:43:00 2011 UTC (12 years, 10 months ago) by misho
Branches: MAIN
CVS tags: HEAD
Initial revision

#!/bin/sh
#
# ELWIX build script for kernel
#
# (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
#    by Michael Pounov <misho@elwix.org>
#
# $Id: build_kernel.sh,v 1.1 2011/07/05 23:43:00 misho Exp $
#

[ -r ./config/rc.elwix ] && . ./config/rc.elwix
if [ X"${ELWIX_IS_CONFIGURED}" != X"YES" ]; then
	echo
	echo "ELWIX project is not configured !?!"
	echo
	exit 1
fi

if [ ! -d $BSDSRC -o ! -d ${BSDKERNCONF} ]; then
	echo
	echo "ELWIX project is not configured - missing BSD sources !?!"
	echo
	exit 1
fi

if [ "${USER}" != "root" ]; then
	echo
	echo "ELWIX project is not configured - BSD kernel must compile under root !?!"
	echo
	exit 1
fi

clean_kernel()
{
	echo "+++ Clean ELWIX Kernel ..."
	rm -rf $KERN
	mkdir -p $KERN

	ln -sf $(pwd)/config/${KERNCONF} ${BSDKERNCONF}
}

build_kernel()
{
	echo "+++ Build ELWIX Kernel ..."
	cd $BSDSRC
	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
		-j${PARALLEL_BUILD} buildkernel KERNCONF=${KERNCONF} DESTDIR=${KERN}
	cd -
}

install_kernel()
{
	echo "+++ Install ELWIX Kernel ..."
	cd $BSDSRC
	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
		installkernel KERNCONF=${KERNCONF} DESTDIR=${KERN}
	cd -

	echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${KERN}/elwix.ver
}

### main()
if ! SnitVer ${KERN}/elwix.ver; then
	clean_kernel
	build_kernel
	install_kernel
else
	echo "Skipped ELWIX Kernel build ..."
fi

echo "+++ Complete build ELWIX Kernel"

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>