#!/bin/sh # # ELWIX build script for tools # # (C) AITNET ltd - Sofia/Bulgaria # by Michael Pounov # # $Id: build_tools.sh,v 1.3 2013/01/28 01:47:34 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_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_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_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_ELWIX ${ELWIX_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"