File:  [ELWIX - Embedded LightWeight unIX -] / elwix / build_tools.sh
Revision 1.1.2.10: download - view: text, annotated - select for diffs - revision graph
Fri Jul 6 09:32:08 2012 UTC (11 years, 11 months ago) by misho
Branches: elwix1_6
added MQTT into ELWIX

    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.10 2012/07/06 09:32:08 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} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  175: 		clean DESTDIR=${WORLD}
  176: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  177: 		DESTDIR=${WORLD}
  178: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  179: 		install DESTDIR=${WORLD}
  180: 	cd -
  181: }
  182: 
  183: compile_tools()
  184: {
  185: 	echo "+++ Compile ELWIX Cross ..."
  186: 
  187: 	cd $CROSS_AXL
  188: 	${AXL_CFG}
  189: 	${CBUILD} clean
  190: 	${CBUILD}
  191: 	${CBUILD} install
  192: 	cd -
  193: 
  194: 	cd $CROSS_AITIO
  195: 	${AITIO_CFG}
  196: 	${CBUILD} clean
  197: 	${CBUILD}
  198: 	${CBUILD} install
  199: 	cd -
  200: 
  201: 	cd $CROSS_AITCRC
  202: 	${AITCRC_CFG}
  203: 	${CBUILD} clean
  204: 	${CBUILD}
  205: 	${CBUILD} install
  206: 	cd -
  207: 
  208: 	cd $CROSS_AITCFG
  209: 	${AITCFG_CFG}
  210: 	${CBUILD} clean
  211: 	${CBUILD}
  212: 	${CBUILD} install
  213: 	cd -
  214: 
  215: 	cd $CROSS_AITSESS
  216: 	${AITSESS_CFG}
  217: 	${CBUILD} clean
  218: 	${CBUILD}
  219: 	${CBUILD} install
  220: 	cd -
  221: 
  222: 	cd $CROSS_AITRPC
  223: 	${AITRPC_CFG}
  224: 	${CBUILD} clean
  225: 	${CBUILD}
  226: 	${CBUILD} install
  227: 	cd -
  228: 
  229: 	cd $CROSS_AITSCHED
  230: 	${AITSCHED_CFG}
  231: 	${CBUILD} clean
  232: 	${CBUILD}
  233: 	${CBUILD} install
  234: 	cd -
  235: 
  236: 	cd $CROSS_AITWWW
  237: 	${AITWWW_CFG}
  238: 	${CBUILD} clean
  239: 	${CBUILD}
  240: 	${CBUILD} install
  241: 	cd -
  242: 
  243: 	cd $CROSS_AITPELCO
  244: 	${AITPELCO_CFG}
  245: 	${CBUILD} clean
  246: 	${CBUILD}
  247: 	${CBUILD} install
  248: 	cd -
  249: 
  250: 	cd $CROSS_AITPWD
  251: 	${AITPWD_CFG}
  252: 	${CBUILD} clean
  253: 	${CBUILD}
  254: 	${CBUILD} install
  255: 	cd -
  256: 
  257: 	cd $CROSS_AITSYNC
  258: 	${AITSYNC_CFG}
  259: 	${CBUILD} clean
  260: 	${CBUILD}
  261: 	${CBUILD} install
  262: 	cd -
  263: 
  264: 	cd $CROSS_AITCLI
  265: 	${AITCLI_CFG}
  266: 	${CBUILD} clean
  267: 	${CBUILD}
  268: 	${CBUILD} install
  269: 	cd -
  270: 
  271: 	cd $CROSS_AITMQTT
  272: 	${AITMQTT_CFG}
  273: 	${CBUILD} clean
  274: 	${CBUILD}
  275: 	${CBUILD} install
  276: 	cd -
  277: 
  278: 	cd $CROSS_EMBEDTOOLS
  279: 	${EMBEDTOOLS_CFG}
  280: 	${CBUILD} clean
  281: 	${CBUILD}
  282: 	${CBUILD} install
  283: 	cd -
  284: 
  285: 	cd $CROSS_ANSH
  286: 	${ANSH_CFG}
  287: 	${CBUILD} clean
  288: 	${CBUILD}
  289: 	${CBUILD} install
  290: 	cd -
  291: 
  292: 	cd $CROSS_MQTT
  293: 	${ANSH_CFG}
  294: 	${CBUILD} clean
  295: 	${CBUILD}
  296: 	${CBUILD} install
  297: 	cd -
  298: 
  299: 	echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/usr/local/elwix.ver
  300: }
  301: 
  302: ### main()
  303: if ! SnitVer ${WORLD}/elwix/elwix.ver; then
  304: 	clean_bootstrap
  305: 	compile_bootstrap
  306: else
  307: 	echo "Skipped ELWIX bootstrap pkgsrc tools build ..."
  308: fi
  309: 
  310: if ! SnitVer ${WORLD}/usr/local/elwix.ver; then
  311: 	clean_tools
  312: 	compile_fbsdtools
  313: 	compile_files
  314: 	compile_tools
  315: else
  316: 	echo "Skipped ELWIX tools build ..."
  317: fi
  318: 
  319: echo "+++ Complete build ELWIX tools"

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