|
version 1.1.2.4, 2012/03/20 15:10:06
|
version 1.6.6.9, 2014/06/15 16:03:36
|
|
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 |
| [ -r ${CENV} ] && . ${CENV} | 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 49 clean_bootstrap()
|
Line 56 clean_bootstrap()
|
| { |
{ |
| echo "+++ Clean ELWIX pkgsrc bootstrap tools ..." |
echo "+++ Clean ELWIX pkgsrc bootstrap tools ..." |
| |
|
| rm -rf ${WORLD}/usr/pkgsrc/bootstrap/work | rm -Rf ${WORLD}/usr/pkgsrc/bootstrap/work |
| rm -f /elwix ${WORLD}/usr/pkgsrc |
rm -f /elwix ${WORLD}/usr/pkgsrc |
| rm -rf ${WORLD}/elwix | rm -Rf ${WORLD}/elwix |
| install -d ${WORLD}/elwix |
install -d ${WORLD}/elwix |
| ln -sf ${WORLD}/elwix /elwix |
ln -sf ${WORLD}/elwix /elwix |
| ln -sf ${PKGSRC} ${WORLD}/usr/pkgsrc |
ln -sf ${PKGSRC} ${WORLD}/usr/pkgsrc |
| |
|
| install -d ${PKGDIR} |
install -d ${PKGDIR} |
| install -d ${PKGDIR}/db |
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() |
compile_bootstrap() |
| { |
{ |
| echo "+++ Compile ELWIX pkgsrc bootstrap tools ..." |
echo "+++ Compile ELWIX pkgsrc bootstrap tools ..." |
| if [ ! -d ${WORLD}/usr/pkgsrc/bootstrap/work ]; then |
if [ ! -d ${WORLD}/usr/pkgsrc/bootstrap/work ]; then |
| cd ${WORLD}/usr/pkgsrc/bootstrap |
cd ${WORLD}/usr/pkgsrc/bootstrap |
| |
./cleanup --prefix /elwix/pkg --pkgdbdir /elwix/pkg/db |
| ./bootstrap --prefix /elwix/pkg --pkgdbdir /elwix/pkg/db |
./bootstrap --prefix /elwix/pkg --pkgdbdir /elwix/pkg/db |
| cd - |
cd - |
| else |
else |
| echo " Skip bootstrap pkgsrc - already inited pkgsrc" |
echo " Skip bootstrap pkgsrc - already inited pkgsrc" |
| fi |
fi |
| |
|
| echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/elwix/elwix.ver | 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_VIMAGE |
| |
${CBUILD} DESTDIR=${WORLD} clean |
| |
${CBUILD} DESTDIR=${WORLD} |
| |
${CBUILD} DESTDIR=${WORLD} install |
| |
cd - |
| |
|
| cd $CROSS_FT_ATH |
cd $CROSS_FT_ATH |
| env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD} clean |
| clean DESTDIR=${WORLD} | ${CBUILD} DESTDIR=${WORLD} |
| env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD} install |
| DESTDIR=${WORLD} | |
| env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | |
| install DESTDIR=${WORLD} | |
| cd - |
cd - |
| |
|
| cd $CROSS_FT_IPW |
cd $CROSS_FT_IPW |
| env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD} clean |
| clean DESTDIR=${WORLD} | ${CBUILD} DESTDIR=${WORLD} |
| env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD}/usr/local/bin install |
| DESTDIR=${WORLD} | |
| env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | |
| install DESTDIR=${WORLD}/usr/local/bin | |
| cd - |
cd - |
| |
|
| cd $CROSS_FT_IWI |
cd $CROSS_FT_IWI |
| env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD} clean |
| clean DESTDIR=${WORLD} | ${CBUILD} DESTDIR=${WORLD} |
| env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD}/usr/local/bin install |
| DESTDIR=${WORLD} | |
| env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | |
| install DESTDIR=${WORLD}/usr/local/bin | |
| cd - |
cd - |
| |
|
| cd $CROSS_FT_MWL |
cd $CROSS_FT_MWL |
| env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD} clean |
| clean DESTDIR=${WORLD} | ${CBUILD} DESTDIR=${WORLD} |
| env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD} install |
| DESTDIR=${WORLD} | |
| env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | |
| install DESTDIR=${WORLD} | |
| cd - |
cd - |
| |
} |
| |
|
| cd $CROSS_FT_NET80211 | compile_files() |
| env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | { |
| clean DESTDIR=${WORLD} | cd files |
| env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD} clean |
| DESTDIR=${WORLD} | ${CBUILD} DESTDIR=${WORLD} obj |
| env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD} depend |
| install DESTDIR=${WORLD} | ${CBUILD} DESTDIR=${WORLD} |
| | ${CBUILD} DESTDIR=${WORLD} install |
| cd - |
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 - |
|
| |
|
| # cd $CROSS_FT_WTAP |
|
| # 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 - |
|
| } |
} |
| |
|
| compile_tools() |
compile_tools() |
| { |
{ |
| echo "+++ Compile ELWIX Cross ..." |
echo "+++ Compile ELWIX Cross ..." |
| |
|
| unset INSTALL | # cd $CROSS_AXL |
| | # ${AXL_CFG} |
| | # ${CBUILD} clean |
| | # ${CBUILD} |
| | # ${CBUILD} install |
| | # cd - |
| |
|
| cd $CROSS_AXL | cd $CROSS_ELWIX |
| ${AXL_CFG} | ${ELWIX_CFG} |
| ${CBUILD} clean |
${CBUILD} clean |
| ${CBUILD} |
${CBUILD} |
| ${CBUILD} install |
${CBUILD} install |
| cd - |
cd - |
| |
|
| cd $CROSS_AITIO | cd $CROSS_AITSCHED |
| ${AITIO_CFG} | ${AITSCHED_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 176 compile_tools()
|
Line 201 compile_tools()
|
| ${CBUILD} install |
${CBUILD} install |
| cd - |
cd - |
| |
|
| cd $CROSS_AITSESS |
|
| ${AITSESS_CFG} |
|
| ${CBUILD} clean |
|
| ${CBUILD} |
|
| ${CBUILD} install |
|
| cd - |
|
| |
|
| cd $CROSS_AITRPC |
cd $CROSS_AITRPC |
| ${AITRPC_CFG} |
${AITRPC_CFG} |
| ${CBUILD} clean |
${CBUILD} clean |
|
Line 190 compile_tools()
|
Line 208 compile_tools()
|
| ${CBUILD} install |
${CBUILD} install |
| cd - |
cd - |
| |
|
| cd $CROSS_AITSCHED |
|
| ${AITSCHED_CFG} |
|
| ${CBUILD} clean |
|
| ${CBUILD} |
|
| ${CBUILD} install |
|
| cd - |
|
| |
|
| cd $CROSS_AITWWW |
cd $CROSS_AITWWW |
| ${AITWWW_CFG} |
${AITWWW_CFG} |
| ${CBUILD} clean |
${CBUILD} clean |
|
Line 211 compile_tools()
|
Line 222 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 253 compile_tools()
|
Line 257 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 - |
| | |
| | cd $CROSS_TFTPD |
| | ${TFTPD_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 | |
| else | |
| echo "Skipped ELWIX bootstrap pkgsrc tools build ..." | |
| fi | |
| |
|
| if SnitVer ${WORLD}/usr/local/elwix.ver; then | #if ! SnitVer ${WORLD}/elwix/elwix.ver; then |
| clean_tools | # clean_bootstrap |
| compile_fbsdtools | # compile_bootstrap || exit 1 |
| compile_tools | # |
| | # 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 |
| | clean_tools || exit 1 |
| | |
| | compile_fbsdtools || exit 1 |
| | compile_files || exit 1 |
| | compile_tools || exit 1 |
| | |
| | build_tools || exit 1 |
| | |
| | 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 |