#!/bin/sh # # ELWIX build script for cross # # (C) AITNET ltd - Sofia/Bulgaria # by Michael Pounov # # $Id: build_cross.sh,v 1.3 2011/11/02 09:51:32 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 $DEST ]; then echo echo "ELWIX project is not configured - missing Dest directory !?!" echo exit 1 fi clean_cross() { echo "+++ Clean ELWIX Cross script ..." rm -f ${CBUILD} rm -rf ${PKG} install -d ${PKG} install -d ${PKG}/bin install -d ${PKG}/etc install -d ${PKG}/include install -d ${PKG}/man install -d ${PKG}/lib install -d ${PKG}/libexec install -d ${PKG}/sbin } build_cross() { echo "+++ Build ELWIX Cross script ..." cd $BSDSRC cat >${CBUILD} <<_EOF #!/bin/sh # # Create auto cross build env script # _EOF env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ buildenvvars >> ${CBUILD} cat >>${CBUILD} <<_EOF PATH=$PKG/bin:$PKG/sbin:\$PATH:$PATH _EOF cd - cp ${CBUILD} ${CGBUILD} cp ${CBUILD} ${CENV} cat >>${CBUILD} <<_EOF make \$* _EOF cat >>${CGBUILD} <<_EOF /usr/local/bin/gmake \$* _EOF cat >>${CENV} <<_EOF exec \$* _EOF chmod +x ${CBUILD} ${CGBUILD} ${CENV} echo "Done." } compile_fbsdtools() { echo "+++ Compile ELWIX Cross FreeBSD tools ..." rm -rf ${WORLD}/usr/local install -d ${WORLD}/usr/local install -d ${WORLD}/usr/local/bin install -d ${WORLD}/usr/local/sbin install -d ${WORLD}/usr/local/lib install -d ${WORLD}/usr/local/libdata 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 - echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix0.ver } compile_cross() { echo "+++ Compile ELWIX Cross ..." cd $CROSS_AXL ${AXL_CFG} ${CBUILD} clean ${CBUILD} ${CBUILD} install cd - cd $CROSS_AITIO ${AITIO_CFG} ${CBUILD} clean ${CBUILD} ${CBUILD} install cd - cd $CROSS_AITCRC ${AITCRC_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_AITPELCO ${AITPELCO_CFG} ${CBUILD} clean ${CBUILD} ${CBUILD} install cd - cd $CROSS_AITPWD ${AITPWD_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_EMBEDTOOLS ${EMBEDTOOLS_CFG} ${CBUILD} clean ${CBUILD} ${CBUILD} install cd - cd $CROSS_ANSH ${ANSH_CFG} ${CBUILD} clean ${CBUILD} ${CBUILD} install cd - echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix.ver } compile_3th() { echo "+++ Compile ELWIX 3th party ..." cd $CROSS_3TH ./build.sh expat ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh libevent ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh libiconv ${CGBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh pcre ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh mini_sendmail ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh choparp ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh scan_ffs ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh pciutils ${CGBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh rsync ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh ttcp ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh ifstated ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh mpd ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh igmpproxy ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh sudo ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh bmon ${CGBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh mtr ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh ipguard ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh iperf ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh smartmontools ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh sqlite3 ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh quagga ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh coova-chilli ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh ntpd ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh iftop ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh arping ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh hping ${CGBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh trafshow ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh ipsec-tools ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh dhcp ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh dhcdrop ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh spawn-fcgi ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh lighttpd ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 ./build.sh php ${CBUILD} ${PKG} ${TARGET_BUILD} [ $? -ne 0 ] && exit 1 cd - echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix1.ver } ### main() if ! SnitVer ${PKG}/elwix0.ver; then compile_fbsdtools else echo "Skipped ELWIX Cross FreeBSD tools build ..." fi if ! SnitVer ${PKG}/elwix.ver; then clean_cross build_cross compile_cross else echo "Skipped ELWIX Cross build ..." fi if ! SnitVer ${PKG}/elwix1.ver; then compile_3th else echo "Skipped ELWIX Cross 3th party build ..." fi echo "+++ Complete build ELWIX Cross"