version 1.1, 2012/02/17 13:41:19
|
version 1.2, 2012/10/12 08:22:43
|
Line 0
|
Line 1
|
|
#!/bin/sh |
|
# |
|
# ELWIX build script for tools |
|
# |
|
# (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org> |
|
# by Michael Pounov <misho@elwix.org> |
|
# |
|
# $Id$ |
|
# |
|
|
|
[ -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} BSDSRC=${BSDSRC} make TARGET=${TARGET} \ |
|
TARGET_ARCH=${TARGET_ARCH} clean DESTDIR=${WORLD} |
|
env MAKEOBJDIRPREFIX=${BSDOBJ} BSDSRC=${BSDSRC} make TARGET=${TARGET} \ |
|
TARGET_ARCH=${TARGET_ARCH} obj depend DESTDIR=${WORLD} |
|
env MAKEOBJDIRPREFIX=${BSDOBJ} BSDSRC=${BSDSRC} make TARGET=${TARGET} \ |
|
TARGET_ARCH=${TARGET_ARCH} DESTDIR=${WORLD} |
|
env MAKEOBJDIRPREFIX=${BSDOBJ} BSDSRC=${BSDSRC} make TARGET=${TARGET} \ |
|
TARGET_ARCH=${TARGET_ARCH} install DESTDIR=${WORLD} |
|
cd - |
|
|
|
strip -s ${WORLD}/usr/bin/csh |
|
} |
|
|
|
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 |
|
${MQTT_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" |