Diff for /elwix/build_tools.sh between versions 1.1.2.2 and 1.6.6.5

version 1.1.2.2, 2012/02/21 16:08:53 version 1.6.6.5, 2014/01/17 01:11:52
Line 1 Line 1
 #!/bin/sh  #!/bin/sh
 #  #
# ELWIX build script for cross# ELWIX build script for tools
 #  #
 # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>  # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
 #    by Michael Pounov <misho@elwix.org>  #    by Michael Pounov <misho@elwix.org>
Line 15  if [ X"${ELWIX_IS_CONFIGURED}" != X"YES" ]; then Line 15  if [ X"${ELWIX_IS_CONFIGURED}" != X"YES" ]; then
         echo          echo
         exit 1          exit 1
 fi  fi
   V=${VERSION}
   #[ -r ${CENV} ] && . ${CENV}
   unset INSTALL
   unset VERSION
   VERSION="$V"
   
   # Set TARGET_CPUTYPE only for world compiling. Don't use this in kernel build!
   X_TARGET_CPUTYPE="TARGET_CPUTYPE=${TARGET_CPUTYPE}"
   
 if [ ! -d $BSDSRC ]; then  if [ ! -d $BSDSRC ]; then
         echo          echo
         echo "ELWIX project is not configured - missing BSD sources !?!"          echo "ELWIX project is not configured - missing BSD sources !?!"
Line 44  clean_tools() Line 52  clean_tools()
   
 }  }
   
   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_deps()
   {
           echo "+++ Compile ELWIX programs bootstrap tools ..."
           if [ -d tools -a -f tools/Makefile ]; then
                   cd tools
                   make cleandepend
                   make clean
                   make obj
                   make
                   make install
                   cd -
           fi
   }
   
   compile_bootstrap()
   {
           echo "+++ Compile ELWIX pkgsrc bootstrap tools ..."
           if [ ! -d ${WORLD}/usr/pkgsrc/bootstrap/work ]; then
                   cd ${WORLD}/usr/pkgsrc/bootstrap
                   ./cleanup --prefix /elwix/pkg --pkgdbdir /elwix/pkg/db 
                   ./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
   }
   
 compile_fbsdtools()  compile_fbsdtools()
 {  {
         echo "+++ Compile ELWIX FreeBSD tools ..."          echo "+++ Compile ELWIX FreeBSD tools ..."
   
        cd $CROSS_FT_ATH        cd $CROSS_FT_VIMAGE
         env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \          env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                clean DESTDIR=${WORLD}                ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} clean
         env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \          env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                DESTDIR=${WORLD}                ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD}
         env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \          env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                install DESTDIR=${WORLD}                ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} install
         cd -          cd -
   
        cd $CROSS_FT_IPW        cd $CROSS_FT_ATH
         env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \          env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                clean DESTDIR=${WORLD}                ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} clean
         env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \          env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                DESTDIR=${WORLD}                ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD}
         env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \          env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                install DESTDIR=${WORLD}/usr/local/bin                ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} install
         cd -          cd -
   
        cd $CROSS_FT_IWI        cd $CROSS_FT_IPW
         env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \          env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                clean DESTDIR=${WORLD}                ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} clean
         env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \          env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                DESTDIR=${WORLD}                ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD}
         env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \          env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                install DESTDIR=${WORLD}/usr/local/bin                ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD}/usr/local/bin install
         cd -          cd -
   
        cd $CROSS_FT_MWL        cd $CROSS_FT_IWI
         env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \          env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                clean DESTDIR=${WORLD}                ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} clean
         env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \          env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                DESTDIR=${WORLD}                ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD}
         env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \          env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                install DESTDIR=${WORLD}                ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD}/usr/local/bin install
         cd -          cd -
   
        cd $CROSS_FT_NET80211        cd $CROSS_FT_MWL
         env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \          env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                clean DESTDIR=${WORLD}                ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} clean
         env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \          env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                DESTDIR=${WORLD}                ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD}
         env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \          env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                install DESTDIR=${WORLD}                ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} install
         cd -          cd -
   
        cd $CROSS_FT_VIMAGE#        cd $CROSS_FT_NET80211
        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \#        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                clean DESTDIR=${WORLD}#               ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} clean
        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \#        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                DESTDIR=${WORLD}#               ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD}
        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \#        env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                install DESTDIR=${WORLD}#               ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} install
        cd -#        cd -
   
 #       cd $CROSS_FT_WTAP  #       cd $CROSS_FT_WTAP
 #       env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \  #       env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
#               clean DESTDIR=${WORLD}#               ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} clean
 #       env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \  #       env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
#                DESTDIR=${WORLD}#               ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD}
 #       env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \  #       env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
#               install DESTDIR=${WORLD}#               ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} install
 #       cd -  #       cd -
 }  }
   
   compile_files()
   {
           cd files
           env MAKEOBJDIRPREFIX=${BSDOBJ} make \
                   TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} ${X_TARGET_CPUTYPE} \
                   __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} clean
           env MAKEOBJDIRPREFIX=${BSDOBJ} make \
                   TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} ${X_TARGET_CPUTYPE} \
                   __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} obj
           env MAKEOBJDIRPREFIX=${BSDOBJ} make \
                   TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} ${X_TARGET_CPUTYPE} \
                   __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} depend 
           env MAKEOBJDIRPREFIX=${BSDOBJ} make \
                   TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} ${X_TARGET_CPUTYPE} \
                   __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD}
           env MAKEOBJDIRPREFIX=${BSDOBJ} make \
                   TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} ${X_TARGET_CPUTYPE} \
                   __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} install 
           cd -
   
           strip -s ${WORLD}/usr/bin/csh
   }
   
 compile_tools()  compile_tools()
 {  {
         echo "+++ Compile ELWIX Cross ..."          echo "+++ Compile ELWIX Cross ..."
Line 123  compile_tools() Line 218  compile_tools()
         ${CBUILD} install          ${CBUILD} install
         cd -          cd -
   
        cd $CROSS_AITIO        cd $CROSS_ELWIX
        ${AITIO_CFG}        ${ELWIX_CFG}
         ${CBUILD} clean          ${CBUILD} clean
         ${CBUILD}          ${CBUILD}
         ${CBUILD} install          ${CBUILD} install
         cd -          cd -
   
        cd $CROSS_AITCRC        cd $CROSS_AITIO
        ${AITCRC_CFG}        ${AITIO_CFG}
         ${CBUILD} clean          ${CBUILD} clean
         ${CBUILD}          ${CBUILD}
         ${CBUILD} install          ${CBUILD} install
Line 144  compile_tools() Line 239  compile_tools()
         ${CBUILD} install          ${CBUILD} install
         cd -          cd -
   
        cd $CROSS_AITSESS        cd $CROSS_AITSCHED
        ${AITSESS_CFG}        ${AITSCHED_CFG}
         ${CBUILD} clean          ${CBUILD} clean
         ${CBUILD}          ${CBUILD}
         ${CBUILD} install          ${CBUILD} install
Line 158  compile_tools() Line 253  compile_tools()
         ${CBUILD} install          ${CBUILD} install
         cd -          cd -
   
        cd $CROSS_AITSCHED        cd $CROSS_AITWWW
        ${AITSCHED_CFG}        ${AITWWW_CFG}
         ${CBUILD} clean          ${CBUILD} clean
         ${CBUILD}          ${CBUILD}
         ${CBUILD} install          ${CBUILD} install
Line 172  compile_tools() Line 267  compile_tools()
         ${CBUILD} install          ${CBUILD} install
         cd -          cd -
   
         cd $CROSS_AITPWD  
         ${AITPWD_CFG}  
         ${CBUILD} clean  
         ${CBUILD}  
         ${CBUILD} install  
         cd -  
   
         cd $CROSS_AITSYNC          cd $CROSS_AITSYNC
         ${AITSYNC_CFG}          ${AITSYNC_CFG}
         ${CBUILD} clean          ${CBUILD} clean
Line 214  compile_tools() Line 302  compile_tools()
         ${CBUILD} install          ${CBUILD} install
         cd -          cd -
   
        echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/usr/local/elwix.ver        cd $CROSS_MQTT
         ${MQTT_CFG}
         ${CBUILD} clean
         ${CBUILD}
         ${CBUILD} install
         cd -
 
         cd $CROSS_WIFINATOR
         ${WIFINATOR_CFG}
         ${CBUILD} clean
         ${CBUILD}
         ${CBUILD} install
         cd -
 }  }
   
   install_tools()
   {
           LIBS="${ROMFS_USR2}/lib"
           LIBEXEC="${ROMFS_USR2}/libexec"
           BIN="${ROMFS_USR2}/bin"
           SBIN="${ROMFS_USR2}/sbin"
           ETC="${ROMFS_USR2}/etc"
   
           echo "+++ Install ELWIX RomFS secondary firmware ..."
   
           StripFiles \*.so\* ${PKG}/lib
           InstallFiles \*.so\* ${PKG}/lib $LIBS
           StripFiles \* ${PKG}/libexec
           InstallFiles \* ${PKG}/libexec $LIBEXEC
           StripFiles \* ${PKG}/bin
           InstallFiles \* ${PKG}/bin $BIN
           StripFiles \* ${PKG}/sbin
           InstallFiles \* ${PKG}/sbin $SBIN
   
           InstallFiles \* ${PKG}/etc $ETC
   
           chown -R root:wheel $SBIN $BIN $LIBDATA $LIBEXEC $LIBS
   }
   
   build_tools()
   {
           echo "+++ Build ELWIX core firmware image ..."
   
           cd ${WORLD}/usr/local
           pax -w -z -v -f${REL}/${LOCALFS_IMG} .
           cd -
   }
   
 ### main()  ### main()
   if ! SnitVer ${WORLD}/elwix/elwix.ver; then
           compile_deps || exit 1
   #       clean_bootstrap
   #       compile_bootstrap || exit 1
   
           echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/elwix/elwix.ver
   else
           echo "Skipped ELWIX bootstrap pkgsrc tools build ..."
   fi
   
 if ! SnitVer ${WORLD}/usr/local/elwix.ver; then  if ! SnitVer ${WORLD}/usr/local/elwix.ver; then
         clean_tools          clean_tools
         compile_fbsdtools          compile_fbsdtools
           compile_files
         compile_tools          compile_tools
           build_tools
   
           echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/usr/local/elwix.ver
 else  else
         echo "Skipped ELWIX tools build ..."          echo "Skipped ELWIX tools build ..."
 fi  fi

Removed from v.1.1.2.2  
changed lines
  Added in v.1.6.6.5


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