File:  [ELWIX - Embedded LightWeight unIX -] / elwix / Attic / build_cross.sh
Revision 1.3.2.2: download - view: text, annotated - select for diffs - revision graph
Tue Jan 31 13:46:32 2012 UTC (12 years, 4 months ago) by misho
Branches: elwix1_6
Diff to: branchpoint 1.3: preferred, unified
add to elwix iscsi

    1: #!/bin/sh
    2: #
    3: # ELWIX build script for cross
    4: #
    5: # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
    6: #    by Michael Pounov <misho@elwix.org>
    7: #
    8: # $Id: build_cross.sh,v 1.3.2.2 2012/01/31 13:46:32 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: 
   19: if [ ! -d $BSDSRC ]; then
   20: 	echo
   21: 	echo "ELWIX project is not configured - missing BSD sources !?!"
   22: 	echo
   23: 	exit 1
   24: fi
   25: 
   26: if [ ! -d $DEST ]; then
   27: 	echo
   28: 	echo "ELWIX project is not configured - missing Dest directory !?!"
   29: 	echo
   30: 	exit 1
   31: fi
   32: 
   33: clean_cross()
   34: {
   35: 	echo "+++ Clean ELWIX Cross script ..."
   36: 	rm -f ${CBUILD}
   37: 
   38: 	rm -rf ${PKG}
   39: 	install -d ${PKG}
   40: 	install -d ${PKG}/bin
   41: 	install -d ${PKG}/etc
   42: 	install -d ${PKG}/include
   43: 	install -d ${PKG}/man
   44: 	install -d ${PKG}/lib
   45: 	install -d ${PKG}/libexec
   46: 	install -d ${PKG}/sbin
   47: }
   48: 
   49: build_cross()
   50: {
   51: 	echo "+++ Build ELWIX Cross script ..."
   52: 	cd $BSDSRC
   53: 	cat >${CBUILD} <<_EOF
   54: #!/bin/sh
   55: #
   56: # Create auto cross build env script
   57: #
   58: _EOF
   59: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
   60: 		buildenvvars >> ${CBUILD}
   61: 	cat >>${CBUILD} <<_EOF
   62: PATH=$PKG/bin:$PKG/sbin:\$PATH:$PATH
   63: _EOF
   64: 	cd -
   65: 	cp ${CBUILD} ${CGBUILD}
   66: 	cp ${CBUILD} ${CENV}
   67: 	cat >>${CBUILD} <<_EOF
   68: make \$*
   69: _EOF
   70: 	cat >>${CGBUILD} <<_EOF
   71: /usr/local/bin/gmake \$*
   72: _EOF
   73: 	cat >>${CENV} <<_EOF
   74: exec \$*
   75: _EOF
   76: 	chmod +x ${CBUILD} ${CGBUILD} ${CENV}
   77: 	echo "Done."
   78: }
   79: 
   80: compile_fbsdtools()
   81: {
   82: 	echo "+++ Compile ELWIX Cross FreeBSD tools ..."
   83: 
   84: 	rm -rf ${WORLD}/usr/local
   85: 	install -d ${WORLD}/usr/local
   86: 	install -d ${WORLD}/usr/local/bin
   87: 	install -d ${WORLD}/usr/local/sbin
   88: 	install -d ${WORLD}/usr/local/lib
   89: 	install -d ${WORLD}/usr/local/libdata
   90: 
   91: 	cd $CROSS_FT_ATH
   92: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
   93: 		clean DESTDIR=${WORLD}
   94: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
   95: 		DESTDIR=${WORLD}
   96: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
   97: 		install DESTDIR=${WORLD}
   98: 	cd -
   99: 
  100: 	cd $CROSS_FT_IPW
  101: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  102: 		clean DESTDIR=${WORLD}
  103: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  104: 		DESTDIR=${WORLD}
  105: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  106: 		install DESTDIR=${WORLD}/usr/local/bin
  107: 	cd -
  108: 
  109: 	cd $CROSS_FT_IWI
  110: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  111: 		clean DESTDIR=${WORLD}
  112: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  113: 		DESTDIR=${WORLD}
  114: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  115: 		install DESTDIR=${WORLD}/usr/local/bin
  116: 	cd -
  117: 
  118: 	cd $CROSS_FT_MWL
  119: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  120: 		clean DESTDIR=${WORLD}
  121: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  122: 		DESTDIR=${WORLD}
  123: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  124: 		install DESTDIR=${WORLD}
  125: 	cd -
  126: 
  127: 	cd $CROSS_FT_NET80211
  128: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  129: 		clean DESTDIR=${WORLD}
  130: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  131: 		DESTDIR=${WORLD}
  132: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  133: 		install DESTDIR=${WORLD}
  134: 	cd -
  135: 
  136: 	cd $CROSS_FT_VIMAGE
  137: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  138: 		clean DESTDIR=${WORLD}
  139: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  140: 		DESTDIR=${WORLD}
  141: 	env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
  142: 		install DESTDIR=${WORLD}
  143: 	cd -
  144: 
  145: 	echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix0.ver
  146: }
  147: 
  148: compile_cross()
  149: {
  150: 	echo "+++ Compile ELWIX Cross ..."
  151: 	cd $CROSS_AXL
  152: 	${AXL_CFG}
  153: 	${CBUILD} clean
  154: 	${CBUILD}
  155: 	${CBUILD} install
  156: 	cd -
  157: 
  158: 	cd $CROSS_AITIO
  159: 	${AITIO_CFG}
  160: 	${CBUILD} clean
  161: 	${CBUILD}
  162: 	${CBUILD} install
  163: 	cd -
  164: 
  165: 	cd $CROSS_AITCRC
  166: 	${AITCRC_CFG}
  167: 	${CBUILD} clean
  168: 	${CBUILD}
  169: 	${CBUILD} install
  170: 	cd -
  171: 
  172: 	cd $CROSS_AITCFG
  173: 	${AITCFG_CFG}
  174: 	${CBUILD} clean
  175: 	${CBUILD}
  176: 	${CBUILD} install
  177: 	cd -
  178: 
  179: 	cd $CROSS_AITSESS
  180: 	${AITSESS_CFG}
  181: 	${CBUILD} clean
  182: 	${CBUILD}
  183: 	${CBUILD} install
  184: 	cd -
  185: 
  186: 	cd $CROSS_AITRPC
  187: 	${AITRPC_CFG}
  188: 	${CBUILD} clean
  189: 	${CBUILD}
  190: 	${CBUILD} install
  191: 	cd -
  192: 
  193: 	cd $CROSS_AITSCHED
  194: 	${AITSCHED_CFG}
  195: 	${CBUILD} clean
  196: 	${CBUILD}
  197: 	${CBUILD} install
  198: 	cd -
  199: 
  200: 	cd $CROSS_AITPELCO
  201: 	${AITPELCO_CFG}
  202: 	${CBUILD} clean
  203: 	${CBUILD}
  204: 	${CBUILD} install
  205: 	cd -
  206: 
  207: 	cd $CROSS_AITPWD
  208: 	${AITPWD_CFG}
  209: 	${CBUILD} clean
  210: 	${CBUILD}
  211: 	${CBUILD} install
  212: 	cd -
  213: 
  214: 	cd $CROSS_AITSYNC
  215: 	${AITSYNC_CFG}
  216: 	${CBUILD} clean
  217: 	${CBUILD}
  218: 	${CBUILD} install
  219: 	cd -
  220: 
  221: 	cd $CROSS_AITCLI
  222: 	${AITCLI_CFG}
  223: 	${CBUILD} clean
  224: 	${CBUILD}
  225: 	${CBUILD} install
  226: 	cd -
  227: 
  228: 	cd $CROSS_AITMQTT
  229: 	${AITMQTT_CFG}
  230: 	${CBUILD} clean
  231: 	${CBUILD}
  232: 	${CBUILD} install
  233: 	cd -
  234: 
  235: 	cd $CROSS_EMBEDTOOLS
  236: 	${EMBEDTOOLS_CFG}
  237: 	${CBUILD} clean
  238: 	${CBUILD}
  239: 	${CBUILD} install
  240: 	cd -
  241: 
  242: 	cd $CROSS_ANSH
  243: 	${ANSH_CFG}
  244: 	${CBUILD} clean
  245: 	${CBUILD}
  246: 	${CBUILD} install
  247: 	cd -
  248: 
  249: 	echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix.ver
  250: }
  251: 
  252: compile_3th()
  253: {
  254: 	echo "+++ Compile ELWIX 3th party ..."
  255: 
  256: 	cd $CROSS_3TH
  257: 	./build.sh expat ${CBUILD} ${PKG} ${TARGET_BUILD}
  258: 	[ $? -ne 0 ] && exit 1
  259: 	./build.sh libevent ${CBUILD} ${PKG} ${TARGET_BUILD}
  260: 	[ $? -ne 0 ] && exit 1
  261: 	./build.sh libiconv ${CGBUILD} ${PKG} ${TARGET_BUILD}
  262: 	[ $? -ne 0 ] && exit 1
  263: 	./build.sh pcre ${CBUILD} ${PKG} ${TARGET_BUILD}
  264: 	[ $? -ne 0 ] && exit 1
  265: 	./build.sh mini_sendmail ${CBUILD} ${PKG} ${TARGET_BUILD}
  266: 	[ $? -ne 0 ] && exit 1
  267: 	./build.sh choparp ${CBUILD} ${PKG} ${TARGET_BUILD}
  268: 	[ $? -ne 0 ] && exit 1
  269: 	./build.sh scan_ffs ${CBUILD} ${PKG} ${TARGET_BUILD}
  270: 	[ $? -ne 0 ] && exit 1
  271: 	./build.sh pciutils ${CGBUILD} ${PKG} ${TARGET_BUILD}
  272: 	[ $? -ne 0 ] && exit 1
  273: 	./build.sh istgt ${CBUILD} ${PKG} ${TARGET_BUILD}
  274: 	[ $? -ne 0 ] && exit 1
  275: 	./build.sh rsync ${CBUILD} ${PKG} ${TARGET_BUILD}
  276: 	[ $? -ne 0 ] && exit 1
  277: 	./build.sh ttcp ${CBUILD} ${PKG} ${TARGET_BUILD}
  278: 	[ $? -ne 0 ] && exit 1
  279: 	./build.sh ifstated ${CBUILD} ${PKG} ${TARGET_BUILD}
  280: 	[ $? -ne 0 ] && exit 1
  281: 	./build.sh mpd ${CBUILD} ${PKG} ${TARGET_BUILD}
  282: 	[ $? -ne 0 ] && exit 1
  283: 	./build.sh igmpproxy ${CBUILD} ${PKG} ${TARGET_BUILD}
  284: 	[ $? -ne 0 ] && exit 1
  285: 	./build.sh sudo ${CBUILD} ${PKG} ${TARGET_BUILD}
  286: 	[ $? -ne 0 ] && exit 1
  287: 	./build.sh bmon ${CGBUILD} ${PKG} ${TARGET_BUILD}
  288: 	[ $? -ne 0 ] && exit 1
  289: 	./build.sh mtr ${CBUILD} ${PKG} ${TARGET_BUILD}
  290: 	[ $? -ne 0 ] && exit 1
  291: 	./build.sh ipguard ${CBUILD} ${PKG} ${TARGET_BUILD}
  292: 	[ $? -ne 0 ] && exit 1
  293: 	./build.sh iperf ${CBUILD} ${PKG} ${TARGET_BUILD}
  294: 	[ $? -ne 0 ] && exit 1
  295: 	./build.sh smartmontools ${CBUILD} ${PKG} ${TARGET_BUILD}
  296: 	[ $? -ne 0 ] && exit 1
  297: 	./build.sh sqlite3 ${CBUILD} ${PKG} ${TARGET_BUILD}
  298: 	[ $? -ne 0 ] && exit 1
  299: 	./build.sh quagga ${CBUILD} ${PKG} ${TARGET_BUILD}
  300: 	[ $? -ne 0 ] && exit 1
  301: 	./build.sh coova-chilli ${CBUILD} ${PKG} ${TARGET_BUILD}
  302: 	[ $? -ne 0 ] && exit 1
  303: 	./build.sh ntpd ${CBUILD} ${PKG} ${TARGET_BUILD}
  304: 	[ $? -ne 0 ] && exit 1
  305: 	./build.sh iftop ${CBUILD} ${PKG} ${TARGET_BUILD}
  306: 	[ $? -ne 0 ] && exit 1
  307: 	./build.sh arping ${CBUILD} ${PKG} ${TARGET_BUILD}
  308: 	[ $? -ne 0 ] && exit 1
  309: 	./build.sh hping ${CGBUILD} ${PKG} ${TARGET_BUILD}
  310: 	[ $? -ne 0 ] && exit 1
  311: 	./build.sh trafshow ${CBUILD} ${PKG} ${TARGET_BUILD}
  312: 	[ $? -ne 0 ] && exit 1
  313: 	./build.sh ipsec-tools ${CBUILD} ${PKG} ${TARGET_BUILD}
  314: 	[ $? -ne 0 ] && exit 1
  315: 	./build.sh dhcp ${CBUILD} ${PKG} ${TARGET_BUILD}
  316: 	[ $? -ne 0 ] && exit 1
  317: 	./build.sh dhcdrop ${CBUILD} ${PKG} ${TARGET_BUILD}
  318: 	[ $? -ne 0 ] && exit 1
  319: 	./build.sh spawn-fcgi ${CBUILD} ${PKG} ${TARGET_BUILD}
  320: 	[ $? -ne 0 ] && exit 1
  321: 	./build.sh lighttpd ${CBUILD} ${PKG} ${TARGET_BUILD}
  322: 	[ $? -ne 0 ] && exit 1
  323: 	./build.sh php ${CBUILD} ${PKG} ${TARGET_BUILD}
  324: 	[ $? -ne 0 ] && exit 1
  325: 	cd -
  326: 
  327: 	echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${PKG}/elwix1.ver
  328: }
  329: 
  330: ### main()
  331: if ! SnitVer ${PKG}/elwix0.ver; then
  332: 	compile_fbsdtools
  333: else
  334: 	echo "Skipped ELWIX Cross FreeBSD tools build ..."
  335: fi
  336: 
  337: if ! SnitVer ${PKG}/elwix.ver; then
  338: 	clean_cross
  339: 	build_cross
  340: 	compile_cross
  341: else
  342: 	echo "Skipped ELWIX Cross build ..."
  343: fi
  344: 
  345: if ! SnitVer ${PKG}/elwix1.ver; then
  346: 	compile_3th
  347: else
  348: 	echo "Skipped ELWIX Cross 3th party build ..."
  349: fi
  350: 
  351: echo "+++ Complete build ELWIX Cross"

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