version 1.1.2.1, 2012/02/17 13:41:19
|
version 1.8.2.2, 2017/08/22 14:36:56
|
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 32 fi
|
Line 40 fi
|
|
|
clean_tools() |
clean_tools() |
{ |
{ |
echo "+++ Clean ELWIX FreeBSD tools ..." | echo "+++ Clean ELWIX FreeBSD tools ... ${WORLD}/usr/local" |
|
|
rm -rf ${WORLD}/usr/local |
rm -rf ${WORLD}/usr/local |
install -d ${WORLD}/usr/local |
install -d ${WORLD}/usr/local |
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 ..." |
|
|
|
if [ "$(uname -m)" != ${TARGET} ]; then |
|
BSDSTATDIR="${BSDOBJ}/${TARGET}.${TARGET_ARCH}${BSDSRC}/lib/libbsdstat" |
|
else |
|
BSDSTATDIR="${BSDOBJ}${BSDSRC}/lib/libbsdstat" |
|
fi |
|
|
|
# cd $CROSS_FT_VIMAGE |
|
# ${CBUILD} DESTDIR=${WORLD} clean || exit 1 |
|
# ${CBUILD} DESTDIR=${WORLD} || exit 1 |
|
# ${CBUILD} DESTDIR=${WORLD} install || exit 1 |
|
# cd - |
|
|
cd $CROSS_FT_ATH |
cd $CROSS_FT_ATH |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD} clean || exit 1 |
clean DESTDIR=${WORLD} | cp ${CROSSTOOLDIR}/usr/include/private/bsdstat/bsdstat.h ${BSDTOOLS}/ath/common || exit 1 |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD} LIBBSDSTATDIR="${BSDSTATDIR}" || exit 1 |
DESTDIR=${WORLD} | ${CBUILD} DESTDIR=${WORLD} install || exit 1 |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | |
install DESTDIR=${WORLD} | |
cd - |
cd - |
|
|
cd $CROSS_FT_IPW | cd $CROSS_FT_CXGB |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD} clean || exit 1 |
clean DESTDIR=${WORLD} | ${CBUILD} DESTDIR=${WORLD} || exit 1 |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD}/usr/local/bin BINDIR="" install || exit 1 |
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_IFINFO |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD} clean || exit 1 |
clean DESTDIR=${WORLD} | ${CBUILD} DESTDIR=${WORLD} || exit 1 |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD}/usr/local/bin BINDIR="" install || exit 1 |
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_MCTEST |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD} clean || exit 1 |
clean DESTDIR=${WORLD} | ${CBUILD} DESTDIR=${WORLD} MK_MAN="no" || exit 1 |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD}/usr/local/bin MK_MAN="no" BINDIR="" install || exit 1 |
DESTDIR=${WORLD} | |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | |
install DESTDIR=${WORLD} | |
cd - |
cd - |
|
|
cd $CROSS_FT_NET80211 | # cd $CROSS_FT_NETMAP |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | # ${CBUILD} DESTDIR=${WORLD} clean || exit 1 |
clean DESTDIR=${WORLD} | # ${CBUILD} DESTDIR=${WORLD} || exit 1 |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | # ${CBUILD} DESTDIR=${WORLD}/usr/local/bin BINDIR="" install || exit 1 |
DESTDIR=${WORLD} | # cd - |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | |
install DESTDIR=${WORLD} | cd $CROSS_FT_NETBLAST |
| ${CBUILD} DESTDIR=${WORLD} clean || exit 1 |
| ${CBUILD} DESTDIR=${WORLD} || exit 1 |
| ${CBUILD} DESTDIR=${WORLD}/usr/local/bin BINDIR="" install || exit 1 |
cd - |
cd - |
|
|
cd $CROSS_FT_VIMAGE | cd $CROSS_FT_NETRCV |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD} clean || exit 1 |
clean DESTDIR=${WORLD} | ${CBUILD} DESTDIR=${WORLD} || exit 1 |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD}/usr/local/bin BINDIR="" install || exit 1 |
DESTDIR=${WORLD} | |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | |
install DESTDIR=${WORLD} | |
cd - |
cd - |
|
|
# cd $CROSS_FT_WTAP | cd $CROSS_FT_NETSND |
# env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD} clean || exit 1 |
# clean DESTDIR=${WORLD} | ${CBUILD} DESTDIR=${WORLD} || exit 1 |
# env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | ${CBUILD} DESTDIR=${WORLD}/usr/local/bin BINDIR="" install || exit 1 |
# DESTDIR=${WORLD} | cd - |
# env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | |
# install DESTDIR=${WORLD} | |
# cd - | |
} |
} |
|
|
|
compile_files() |
|
{ |
|
cd files |
|
${CBUILD} DESTDIR=${WORLD} clean || exit 1 |
|
${CBUILD} DESTDIR=${WORLD} obj || exit 1 |
|
${CBUILD} DESTDIR=${WORLD} depend || exit 1 |
|
${CBUILD} DESTDIR=${WORLD} || exit 1 |
|
${CBUILD} DESTDIR=${WORLD} install || exit 1 |
|
cd - |
|
} |
|
|
compile_tools() |
compile_tools() |
{ |
{ |
echo "+++ Compile ELWIX Cross ..." |
echo "+++ Compile ELWIX Cross ..." |
cd $CROSS_AXL | |
${AXL_CFG} | cd $CROSS_ELWIX |
| ${CEXEC} INSTALL="/usr/bin/install" ${ELWIX_CFG} |
${CBUILD} clean |
${CBUILD} clean |
${CBUILD} |
${CBUILD} |
${CBUILD} install |
${CBUILD} install |
cd - |
cd - |
|
|
cd $CROSS_AITIO | cd $CROSS_AITSCHED |
${AITIO_CFG} | ${CEXEC} INSTALL="/usr/bin/install" ${AITSCHED_CFG} |
${CBUILD} clean |
${CBUILD} clean |
${CBUILD} |
${CBUILD} |
${CBUILD} install |
${CBUILD} install |
cd - |
cd - |
|
|
cd $CROSS_AITCRC | cd $CROSS_AITIO |
${AITCRC_CFG} | ${CEXEC} INSTALL="/usr/bin/install" ${AITIO_CFG} |
${CBUILD} clean |
${CBUILD} clean |
${CBUILD} |
${CBUILD} |
${CBUILD} install |
${CBUILD} install |
cd - |
cd - |
|
|
cd $CROSS_AITCFG |
cd $CROSS_AITCFG |
${AITCFG_CFG} | ${CEXEC} INSTALL="/usr/bin/install" ${AITCFG_CFG} |
${CBUILD} clean |
${CBUILD} clean |
${CBUILD} |
${CBUILD} |
${CBUILD} install |
${CBUILD} install |
cd - |
cd - |
|
|
cd $CROSS_AITSESS | cd $CROSS_AITRPC |
${AITSESS_CFG} | ${CEXEC} INSTALL="/usr/bin/install" ${AITRPC_CFG} |
${CBUILD} clean |
${CBUILD} clean |
${CBUILD} |
${CBUILD} |
${CBUILD} install |
${CBUILD} install |
cd - |
cd - |
|
|
cd $CROSS_AITRPC | cd $CROSS_AITWWW |
${AITRPC_CFG} | ${CEXEC} INSTALL="/usr/bin/install" ${AITWWW_CFG} |
${CBUILD} clean |
${CBUILD} clean |
${CBUILD} |
${CBUILD} |
${CBUILD} install |
${CBUILD} install |
cd - |
cd - |
|
|
cd $CROSS_AITSCHED | cd $CROSS_AITPELCO |
${AITSCHED_CFG} | ${CEXEC} INSTALL="/usr/bin/install" ${AITPELCO_CFG} |
${CBUILD} clean |
${CBUILD} clean |
${CBUILD} |
${CBUILD} |
${CBUILD} install |
${CBUILD} install |
cd - |
cd - |
|
|
cd $CROSS_AITPELCO | cd $CROSS_AITSYNC |
${AITPELCO_CFG} | ${CEXEC} INSTALL="/usr/bin/install" ${AITSYNC_CFG} |
${CBUILD} clean |
${CBUILD} clean |
${CBUILD} |
${CBUILD} |
${CBUILD} install |
${CBUILD} install |
cd - |
cd - |
|
|
cd $CROSS_AITPWD | cd $CROSS_AITCLI |
${AITPWD_CFG} | ${CEXEC} INSTALL="/usr/bin/install" ${AITCLI_CFG} |
${CBUILD} clean |
${CBUILD} clean |
${CBUILD} |
${CBUILD} |
${CBUILD} install |
${CBUILD} install |
cd - |
cd - |
|
|
cd $CROSS_AITSYNC | cd $CROSS_AITMQTT |
${AITSYNC_CFG} | ${CEXEC} INSTALL="/usr/bin/install" ${AITMQTT_CFG} |
${CBUILD} clean |
${CBUILD} clean |
${CBUILD} |
${CBUILD} |
${CBUILD} install |
${CBUILD} install |
cd - |
cd - |
|
|
cd $CROSS_AITCLI | cd $CROSS_EMBEDTOOLS |
${AITCLI_CFG} | ${CEXEC} INSTALL="/usr/bin/install" ${EMBEDTOOLS_CFG} |
${CBUILD} clean |
${CBUILD} clean |
${CBUILD} |
${CBUILD} |
${CBUILD} install |
${CBUILD} install |
cd - |
cd - |
|
|
cd $CROSS_AITMQTT | cd $CROSS_ANSH |
${AITMQTT_CFG} | ${CEXEC} INSTALL="/usr/bin/install" ${ANSH_CFG} |
${CBUILD} clean |
${CBUILD} clean |
${CBUILD} |
${CBUILD} |
${CBUILD} install |
${CBUILD} install |
cd - |
cd - |
|
|
cd $CROSS_EMBEDTOOLS | cd $CROSS_MQTT |
${EMBEDTOOLS_CFG} | ${CEXEC} INSTALL="/usr/bin/install" ${MQTT_CFG} |
${CBUILD} clean |
${CBUILD} clean |
${CBUILD} |
${CBUILD} |
${CBUILD} install |
${CBUILD} install |
cd - |
cd - |
|
|
cd $CROSS_ANSH | cd $CROSS_WIFINATOR |
${ANSH_CFG} | ${CEXEC} INSTALL="/usr/bin/install" ${WIFINATOR_CFG} |
${CBUILD} clean |
${CBUILD} clean |
${CBUILD} |
${CBUILD} |
${CBUILD} install |
${CBUILD} install |
cd - |
cd - |
|
|
echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/usr/local/elwix.ver | cd $CROSS_TFTPD |
| ${CEXEC} INSTALL="/usr/bin/install" ${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 ... ${ROMFS_USR2}" |
|
|
|
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 ... ${WORLD}/usr/local --> ${REL}/${LOCALFS_IMG}" |
|
|
|
cd ${WORLD}/usr/local |
|
find . -name ".debug" -exec rm -rf {} \; |
|
pax -w -z -v -f${REL}/${LOCALFS_IMG} . |
|
cd - |
|
|
|
echo "+++ Completed ELWIX core firmware image ... ${REL}/${LOCALFS_IMG}" |
|
} |
|
|
### main() |
### main() |
|
if [ "${COMPILE_DEPTOOLS}" = "YES" ]; then |
|
compile_deps || exit 1 |
|
fi |
|
|
|
#if ! SnitVer ${WORLD}/elwix/elwix.ver; then |
|
# 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 || exit 1 |
compile_fbsdtools | |
compile_tools | 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 |