File:
[ELWIX - Embedded LightWeight unIX -] /
elwix /
build_world.sh
Revision
1.2:
download - view:
text,
annotated -
select for diffs -
revision graph
Fri Oct 12 08:22:43 2012 UTC (11 years, 11 months ago) by
misho
Branches:
MAIN
CVS tags:
elwix2_1,
elwix2_0,
elwix1_9_mips,
elwix1_9,
elwix1_8,
elwix1_7,
HEAD,
ELWIX2_0,
ELWIX1_9,
ELWIX1_8,
ELWIX1_7,
ELWIX1_6
ELWIX 1.6
#!/bin/sh
#
# ELWIX build script for world
#
# (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
# by Michael Pounov <misho@elwix.org>
#
# $Id: build_world.sh,v 1.2 2012/10/12 08:22:43 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 ]; then
echo
echo "ELWIX project is not configured - missing BSD sources !?!"
echo
exit 1
fi
if [ ! -d $ADIR ]; then
echo
echo "ELWIX project is not configured - missing TargetArch directory !?!"
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_world()
{
echo "+++ Clean ELWIX World ..."
rm -rf $WORLD
mkdir -p $WORLD
rm -f ${CBUILD} ${CGBUILD} ${CENV}
}
build_world()
{
echo "+++ Build ELWIX World ..."
cd $BSDSRC
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
-j${PARALLEL_BUILD} buildworld DESTDIR=${WORLD}
if [ $? -eq 0 ]; then
cd -
else
exit 1
fi
}
install_world()
{
echo "+++ Install ELWIX World ..."
cd $BSDSRC
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
installworld DESTDIR=${WORLD}
cd -
if [ $? -eq 0 ]; then
echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/elwix.ver
fi
}
build_cross()
{
echo "+++ Build ELWIX Cross script ..."
cd $BSDSRC
cat >${CENV} <<_EOF
#!/bin/sh
#
# Create auto cross build env script
#
export \\
_EOF
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
buildenvvars >> ${CENV}
cat >>${CENV} <<_EOF
PATH=$WORLD/elwix/pkg/bin:$WORLD/elwix/pkg/sbin:/elwix/pkg/bin:/elwix/pkg/sbin:$PKG/bin:$PKG/sbin:\$PATH:$PATH
_EOF
cd -
cp ${CENV} ${CBUILD}
cp ${CENV} ${CGBUILD}
cp ${CENV} ${CEXEC}
cat >>${CBUILD} <<_EOF
make \$*
_EOF
cat >>${CGBUILD} <<_EOF
gmake \$*
_EOF
cat >>${CEXEC} <<_EOF
eval \$*
_EOF
chmod +x ${CBUILD} ${CGBUILD} ${CEXEC} ${CENV}
echo "Done."
}
### main()
if ! SnitVer ${WORLD}/elwix.ver; then
clean_world
build_world
install_world
build_cross
else
echo "Skipped ELWIX World build ..."
fi
echo "+++ Complete build ELWIX World"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>