Annotation of elwix/build_tools.sh, revision 1.2

1.2     ! misho       1: #!/bin/sh
        !             2: #
        !             3: # ELWIX build script for tools
        !             4: #
        !             5: # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
        !             6: #    by Michael Pounov <misho@elwix.org>
        !             7: #
        !             8: # $Id: build_tools.sh,v 1.1.2.14 2012/10/12 08:00:52 misho Exp $
        !             9: #
        !            10: 
        !            11: [ -r ./config/rc.elwix ] && . ./config/rc.elwix
        !            12: if [ X"${ELWIX_IS_CONFIGURED}" != X"YES" ]; then
        !            13:        echo
        !            14:        echo "ELWIX project is not configured !?!"
        !            15:        echo
        !            16:        exit 1
        !            17: fi
        !            18: V=${VERSION}
        !            19: [ -r ${CENV} ] && . ${CENV}
        !            20: unset INSTALL
        !            21: unset VERSION
        !            22: VERSION="$V"
        !            23: 
        !            24: if [ ! -d $BSDSRC ]; then
        !            25:        echo
        !            26:        echo "ELWIX project is not configured - missing BSD sources !?!"
        !            27:        echo
        !            28:        exit 1
        !            29: fi
        !            30: 
        !            31: if [ ! -d $DEST ]; then
        !            32:        echo
        !            33:        echo "ELWIX project is not configured - missing Dest directory !?!"
        !            34:        echo
        !            35:        exit 1
        !            36: fi
        !            37: 
        !            38: clean_tools()
        !            39: {
        !            40:        echo "+++ Clean ELWIX FreeBSD tools ..."
        !            41: 
        !            42:        rm -rf ${WORLD}/usr/local
        !            43:        install -d ${WORLD}/usr/local
        !            44:        install -d ${WORLD}/usr/local/bin
        !            45:        install -d ${WORLD}/usr/local/include
        !            46:        install -d ${WORLD}/usr/local/lib
        !            47:        install -d ${WORLD}/usr/local/libdata
        !            48:        install -d ${WORLD}/usr/local/sbin
        !            49: 
        !            50: }
        !            51: 
        !            52: clean_bootstrap()
        !            53: {
        !            54:        echo "+++ Clean ELWIX pkgsrc bootstrap tools ..."
        !            55: 
        !            56:        rm -rf ${WORLD}/usr/pkgsrc/bootstrap/work
        !            57:        rm -f /elwix ${WORLD}/usr/pkgsrc
        !            58:        rm -rf ${WORLD}/elwix
        !            59:        install -d ${WORLD}/elwix
        !            60:        ln -sf ${WORLD}/elwix /elwix
        !            61:        ln -sf ${PKGSRC} ${WORLD}/usr/pkgsrc
        !            62: 
        !            63:        install -d ${PKGDIR}
        !            64:        install -d ${PKGDIR}/db
        !            65:        install -d ${PKGDIR}/etc
        !            66: }
        !            67: 
        !            68: compile_bootstrap()
        !            69: {
        !            70:        echo "+++ Compile ELWIX pkgsrc bootstrap tools ..."
        !            71:        if [ ! -d ${WORLD}/usr/pkgsrc/bootstrap/work ]; then
        !            72:                cd ${WORLD}/usr/pkgsrc/bootstrap
        !            73:                ./bootstrap --prefix /elwix/pkg --pkgdbdir /elwix/pkg/db
        !            74:                cd -
        !            75:        else
        !            76:                echo " Skip bootstrap pkgsrc - already inited pkgsrc"
        !            77:        fi
        !            78: 
        !            79:        cat >>/elwix/pkg/etc/mk.conf << _EOF
        !            80: 
        !            81: .if defined(USE_CROSS_COMPILE) && !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
        !            82: USE_DESTDIR=           yes
        !            83: DEPENDS_TARGET=                package-install
        !            84: 
        !            85: TOOLDIR=                ${CROSSTOOLDIR}
        !            86: CROSS_DESTDIR=         ${WORLD}
        !            87: 
        !            88: TARGET=                        ${TARGET}
        !            89: TARGET_ARCH=           ${TARGET_ARCH}
        !            90: MACHINE_PLATFORM=      FreeBSD-${PLATFORM}-${TARGET_ARCH}
        !            91: MACHINE_GNU_PLATFORM=  ${TARGET_ARCH}-elwix-freebsd
        !            92: 
        !            93: PKGSRC_COMPILER=       gcc
        !            94: USE_PKGSRC_GCC=                no
        !            95: USE_NATIVE_GCC=                yes
        !            96: 
        !            97: .endif                 # end cross-compilation settings
        !            98: _EOF
        !            99: 
        !           100:        echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/elwix/elwix.ver
        !           101: }
        !           102: 
        !           103: compile_fbsdtools()
        !           104: {
        !           105:        echo "+++ Compile ELWIX FreeBSD tools ..."
        !           106: 
        !           107:        cd $CROSS_FT_ATH
        !           108:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           109:                clean DESTDIR=${WORLD}
        !           110:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           111:                DESTDIR=${WORLD}
        !           112:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           113:                install DESTDIR=${WORLD}
        !           114:        cd -
        !           115: 
        !           116:        cd $CROSS_FT_IPW
        !           117:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           118:                clean DESTDIR=${WORLD}
        !           119:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           120:                DESTDIR=${WORLD}
        !           121:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           122:                install DESTDIR=${WORLD}/usr/local/bin
        !           123:        cd -
        !           124: 
        !           125:        cd $CROSS_FT_IWI
        !           126:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           127:                clean DESTDIR=${WORLD}
        !           128:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           129:                DESTDIR=${WORLD}
        !           130:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           131:                install DESTDIR=${WORLD}/usr/local/bin
        !           132:        cd -
        !           133: 
        !           134:        cd $CROSS_FT_MWL
        !           135:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           136:                clean DESTDIR=${WORLD}
        !           137:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           138:                DESTDIR=${WORLD}
        !           139:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           140:                install DESTDIR=${WORLD}
        !           141:        cd -
        !           142: 
        !           143:        cd $CROSS_FT_NET80211
        !           144:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           145:                clean DESTDIR=${WORLD}
        !           146:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           147:                DESTDIR=${WORLD}
        !           148:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           149:                install DESTDIR=${WORLD}
        !           150:        cd -
        !           151: 
        !           152:        cd $CROSS_FT_VIMAGE
        !           153:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           154:                clean DESTDIR=${WORLD}
        !           155:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           156:                DESTDIR=${WORLD}
        !           157:        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           158:                install DESTDIR=${WORLD}
        !           159:        cd -
        !           160: 
        !           161: #      cd $CROSS_FT_WTAP
        !           162: #      env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           163: #              clean DESTDIR=${WORLD}
        !           164: #      env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           165: #              DESTDIR=${WORLD}
        !           166: #      env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
        !           167: #              install DESTDIR=${WORLD}
        !           168: #      cd -
        !           169: }
        !           170: 
        !           171: compile_files()
        !           172: {
        !           173:        cd files
        !           174:        env MAKEOBJDIRPREFIX=${BSDOBJ} BSDSRC=${BSDSRC} make TARGET=${TARGET} \
        !           175:                TARGET_ARCH=${TARGET_ARCH} clean DESTDIR=${WORLD}
        !           176:        env MAKEOBJDIRPREFIX=${BSDOBJ} BSDSRC=${BSDSRC} make TARGET=${TARGET} \
        !           177:                TARGET_ARCH=${TARGET_ARCH} obj depend DESTDIR=${WORLD}
        !           178:        env MAKEOBJDIRPREFIX=${BSDOBJ} BSDSRC=${BSDSRC} make TARGET=${TARGET} \
        !           179:                TARGET_ARCH=${TARGET_ARCH} DESTDIR=${WORLD}
        !           180:        env MAKEOBJDIRPREFIX=${BSDOBJ} BSDSRC=${BSDSRC} make TARGET=${TARGET} \
        !           181:                TARGET_ARCH=${TARGET_ARCH} install DESTDIR=${WORLD}
        !           182:        cd -
        !           183: 
        !           184:        strip -s ${WORLD}/usr/bin/csh
        !           185: }
        !           186: 
        !           187: compile_tools()
        !           188: {
        !           189:        echo "+++ Compile ELWIX Cross ..."
        !           190: 
        !           191:        cd $CROSS_AXL
        !           192:        ${AXL_CFG}
        !           193:        ${CBUILD} clean
        !           194:        ${CBUILD}
        !           195:        ${CBUILD} install
        !           196:        cd -
        !           197: 
        !           198:        cd $CROSS_AITCRC
        !           199:        ${AITCRC_CFG}
        !           200:        ${CBUILD} clean
        !           201:        ${CBUILD}
        !           202:        ${CBUILD} install
        !           203:        cd -
        !           204: 
        !           205:        cd $CROSS_AITIO
        !           206:        ${AITIO_CFG}
        !           207:        ${CBUILD} clean
        !           208:        ${CBUILD}
        !           209:        ${CBUILD} install
        !           210:        cd -
        !           211: 
        !           212:        cd $CROSS_AITCFG
        !           213:        ${AITCFG_CFG}
        !           214:        ${CBUILD} clean
        !           215:        ${CBUILD}
        !           216:        ${CBUILD} install
        !           217:        cd -
        !           218: 
        !           219:        cd $CROSS_AITSESS
        !           220:        ${AITSESS_CFG}
        !           221:        ${CBUILD} clean
        !           222:        ${CBUILD}
        !           223:        ${CBUILD} install
        !           224:        cd -
        !           225: 
        !           226:        cd $CROSS_AITRPC
        !           227:        ${AITRPC_CFG}
        !           228:        ${CBUILD} clean
        !           229:        ${CBUILD}
        !           230:        ${CBUILD} install
        !           231:        cd -
        !           232: 
        !           233:        cd $CROSS_AITSCHED
        !           234:        ${AITSCHED_CFG}
        !           235:        ${CBUILD} clean
        !           236:        ${CBUILD}
        !           237:        ${CBUILD} install
        !           238:        cd -
        !           239: 
        !           240:        cd $CROSS_AITWWW
        !           241:        ${AITWWW_CFG}
        !           242:        ${CBUILD} clean
        !           243:        ${CBUILD}
        !           244:        ${CBUILD} install
        !           245:        cd -
        !           246: 
        !           247:        cd $CROSS_AITPELCO
        !           248:        ${AITPELCO_CFG}
        !           249:        ${CBUILD} clean
        !           250:        ${CBUILD}
        !           251:        ${CBUILD} install
        !           252:        cd -
        !           253: 
        !           254:        cd $CROSS_AITSYNC
        !           255:        ${AITSYNC_CFG}
        !           256:        ${CBUILD} clean
        !           257:        ${CBUILD}
        !           258:        ${CBUILD} install
        !           259:        cd -
        !           260: 
        !           261:        cd $CROSS_AITCLI
        !           262:        ${AITCLI_CFG}
        !           263:        ${CBUILD} clean
        !           264:        ${CBUILD}
        !           265:        ${CBUILD} install
        !           266:        cd -
        !           267: 
        !           268:        cd $CROSS_AITMQTT
        !           269:        ${AITMQTT_CFG}
        !           270:        ${CBUILD} clean
        !           271:        ${CBUILD}
        !           272:        ${CBUILD} install
        !           273:        cd -
        !           274: 
        !           275:        cd $CROSS_EMBEDTOOLS
        !           276:        ${EMBEDTOOLS_CFG}
        !           277:        ${CBUILD} clean
        !           278:        ${CBUILD}
        !           279:        ${CBUILD} install
        !           280:        cd -
        !           281: 
        !           282:        cd $CROSS_ANSH
        !           283:        ${ANSH_CFG}
        !           284:        ${CBUILD} clean
        !           285:        ${CBUILD}
        !           286:        ${CBUILD} install
        !           287:        cd -
        !           288: 
        !           289:        cd $CROSS_MQTT
        !           290:        ${MQTT_CFG}
        !           291:        ${CBUILD} clean
        !           292:        ${CBUILD}
        !           293:        ${CBUILD} install
        !           294:        cd -
        !           295: 
        !           296:        echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/usr/local/elwix.ver
        !           297: }
        !           298: 
        !           299: ### main()
        !           300: if ! SnitVer ${WORLD}/elwix/elwix.ver; then
        !           301:        clean_bootstrap
        !           302:        compile_bootstrap
        !           303: else
        !           304:        echo "Skipped ELWIX bootstrap pkgsrc tools build ..."
        !           305: fi
        !           306: 
        !           307: if ! SnitVer ${WORLD}/usr/local/elwix.ver; then
        !           308:        clean_tools
        !           309:        compile_fbsdtools
        !           310:        compile_files
        !           311:        compile_tools
        !           312: else
        !           313:        echo "Skipped ELWIX tools build ..."
        !           314: fi
        !           315: 
        !           316: echo "+++ Complete build ELWIX tools"

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>