#!/bin/sh
#
# ELWIX build script for tools
#
# (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
# by Michael Pounov <misho@elwix.org>
#
# $Id: build_tools.sh,v 1.1.2.12 2012/10/09 08:47:50 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
V=${VERSION}
[ -r ${CENV} ] && . ${CENV}
unset INSTALL
unset VERSION
VERSION="$V"
if [ ! -d $BSDSRC ]; then
echo
echo "ELWIX project is not configured - missing BSD sources !?!"
echo
exit 1
fi
if [ ! -d $DEST ]; then
echo
echo "ELWIX project is not configured - missing Dest directory !?!"
echo
exit 1
fi
clean_tools()
{
echo "+++ Clean ELWIX FreeBSD tools ..."
rm -rf ${WORLD}/usr/local
install -d ${WORLD}/usr/local
install -d ${WORLD}/usr/local/bin
install -d ${WORLD}/usr/local/include
install -d ${WORLD}/usr/local/lib
install -d ${WORLD}/usr/local/libdata
install -d ${WORLD}/usr/local/sbin
}
clean_bootstrap()
{
echo "+++ Clean ELWIX pkgsrc bootstrap tools ..."
rm -rf ${WORLD}/usr/pkgsrc/bootstrap/work
rm -f /elwix ${WORLD}/usr/pkgsrc
rm -rf ${WORLD}/elwix
install -d ${WORLD}/elwix
ln -sf ${WORLD}/elwix /elwix
ln -sf ${PKGSRC} ${WORLD}/usr/pkgsrc
install -d ${PKGDIR}
install -d ${PKGDIR}/db
install -d ${PKGDIR}/etc
}
compile_bootstrap()
{
echo "+++ Compile ELWIX pkgsrc bootstrap tools ..."
if [ ! -d ${WORLD}/usr/pkgsrc/bootstrap/work ]; then
cd ${WORLD}/usr/pkgsrc/bootstrap
./bootstrap --prefix /elwix/pkg --pkgdbdir /elwix/pkg/db
cd -
else
echo " Skip bootstrap pkgsrc - already inited pkgsrc"
fi
cat >>/elwix/pkg/etc/mk.conf << _EOF
.if defined(USE_CROSS_COMPILE) && !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
USE_DESTDIR= yes
DEPENDS_TARGET= package-install
TOOLDIR= ${CROSSTOOLDIR}
CROSS_DESTDIR= ${WORLD}
TARGET= ${TARGET}
TARGET_ARCH= ${TARGET_ARCH}
MACHINE_PLATFORM= FreeBSD-${PLATFORM}-${TARGET_ARCH}
MACHINE_GNU_PLATFORM= ${TARGET_ARCH}-elwix-freebsd
PKGSRC_COMPILER= gcc
USE_PKGSRC_GCC= no
USE_NATIVE_GCC= yes
.endif # end cross-compilation settings
_EOF
echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/elwix/elwix.ver
}
compile_fbsdtools()
{
echo "+++ Compile ELWIX FreeBSD tools ..."
cd $CROSS_FT_ATH
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
clean DESTDIR=${WORLD}
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
DESTDIR=${WORLD}
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
install DESTDIR=${WORLD}
cd -
cd $CROSS_FT_IPW
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
clean DESTDIR=${WORLD}
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
DESTDIR=${WORLD}
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
install DESTDIR=${WORLD}/usr/local/bin
cd -
cd $CROSS_FT_IWI
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
clean DESTDIR=${WORLD}
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
DESTDIR=${WORLD}
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
install DESTDIR=${WORLD}/usr/local/bin
cd -
cd $CROSS_FT_MWL
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
clean DESTDIR=${WORLD}
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
DESTDIR=${WORLD}
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
install DESTDIR=${WORLD}
cd -
cd $CROSS_FT_NET80211
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
clean DESTDIR=${WORLD}
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
DESTDIR=${WORLD}
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
install DESTDIR=${WORLD}
cd -
cd $CROSS_FT_VIMAGE
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
clean DESTDIR=${WORLD}
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
DESTDIR=${WORLD}
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
install DESTDIR=${WORLD}
cd -
# cd $CROSS_FT_WTAP
# env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
# clean DESTDIR=${WORLD}
# env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
# DESTDIR=${WORLD}
# env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
# install DESTDIR=${WORLD}
# cd -
}
compile_files()
{
cd files
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
clean DESTDIR=${WORLD}
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
DESTDIR=${WORLD}
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
install DESTDIR=${WORLD}
cd -
}
compile_tools()
{
echo "+++ Compile ELWIX Cross ..."
cd $CROSS_AXL
${AXL_CFG}
${CBUILD} clean
${CBUILD}
${CBUILD} install
cd -
cd $CROSS_AITCRC
${AITCRC_CFG}
${CBUILD} clean
${CBUILD}
${CBUILD} install
cd -
cd $CROSS_AITIO
${AITIO_CFG}
${CBUILD} clean
${CBUILD}
${CBUILD} install
cd -
cd $CROSS_AITCFG
${AITCFG_CFG}
${CBUILD} clean
${CBUILD}
${CBUILD} install
cd -
cd $CROSS_AITSESS
${AITSESS_CFG}
${CBUILD} clean
${CBUILD}
${CBUILD} install
cd -
cd $CROSS_AITRPC
${AITRPC_CFG}
${CBUILD} clean
${CBUILD}
${CBUILD} install
cd -
cd $CROSS_AITSCHED
${AITSCHED_CFG}
${CBUILD} clean
${CBUILD}
${CBUILD} install
cd -
cd $CROSS_AITWWW
${AITWWW_CFG}
${CBUILD} clean
${CBUILD}
${CBUILD} install
cd -
cd $CROSS_AITPELCO
${AITPELCO_CFG}
${CBUILD} clean
${CBUILD}
${CBUILD} install
cd -
cd $CROSS_AITSYNC
${AITSYNC_CFG}
${CBUILD} clean
${CBUILD}
${CBUILD} install
cd -
cd $CROSS_AITCLI
${AITCLI_CFG}
${CBUILD} clean
${CBUILD}
${CBUILD} install
cd -
cd $CROSS_AITMQTT
${AITMQTT_CFG}
${CBUILD} clean
${CBUILD}
${CBUILD} install
cd -
cd $CROSS_EMBEDTOOLS
${EMBEDTOOLS_CFG}
${CBUILD} clean
${CBUILD}
${CBUILD} install
cd -
cd $CROSS_ANSH
${ANSH_CFG}
${CBUILD} clean
${CBUILD}
${CBUILD} install
cd -
cd $CROSS_MQTT
${ANSH_CFG}
${CBUILD} clean
${CBUILD}
${CBUILD} install
cd -
echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/usr/local/elwix.ver
}
### main()
if ! SnitVer ${WORLD}/elwix/elwix.ver; then
clean_bootstrap
compile_bootstrap
else
echo "Skipped ELWIX bootstrap pkgsrc tools build ..."
fi
if ! SnitVer ${WORLD}/usr/local/elwix.ver; then
clean_tools
compile_fbsdtools
compile_files
compile_tools
else
echo "Skipped ELWIX tools build ..."
fi
echo "+++ Complete build ELWIX tools"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>