version 1.1.1.1, 2011/07/05 23:43:00
|
version 1.6.2.1, 2021/03/17 17:17:09
|
Line 37 if [ "${USER}" != "root" ]; then
|
Line 37 if [ "${USER}" != "root" ]; then
|
exit 1 |
exit 1 |
fi |
fi |
|
|
|
# Set TARGET_CPUTYPE only for world compiling. Don't use this in kernel build! |
|
X_TARGET_CPUTYPE="TARGET_CPUTYPE=${TARGET_CPUTYPE}" |
|
|
clean_world() |
clean_world() |
{ |
{ |
echo "+++ Clean ELWIX World ..." | echo "+++ Clean ELWIX World ... $WORLD" |
rm -rf $WORLD |
rm -rf $WORLD |
mkdir -p $WORLD |
mkdir -p $WORLD |
|
|
|
rm -f ${CBUILD} ${CGBUILD} ${CENV} |
} |
} |
|
|
|
build_toolchain() |
|
{ |
|
echo "+++ Build ELWIX Toolchain ..." |
|
cd $BSDSRC |
|
env MAKEOBJDIRPREFIX=${BSDOBJ} make ${PARALLEL_BUILD} \ |
|
TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} ${X_TARGET_CPUTYPE} \ |
|
SRCCONF=${SRCCONF} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} toolchain |
|
if [ $? -eq 0 ]; then |
|
cd - |
|
else |
|
exit 1 |
|
fi |
|
} |
|
|
build_world() |
build_world() |
{ |
{ |
echo "+++ Build ELWIX World ..." |
echo "+++ Build ELWIX World ..." |
cd $BSDSRC |
cd $BSDSRC |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | if [ -z "$1" ]; then |
-j${PARALLEL_BUILD} buildworld DESTDIR=${WORLD} | env MAKEOBJDIRPREFIX=${BSDOBJ} make ${PARALLEL_BUILD} \ |
cd - | TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} ${X_TARGET_CPUTYPE} \ |
| SRCCONF=${SRCCONF} __MAKE_CONF=${MAKECONF} buildworld |
| else |
| env MAKEOBJDIRPREFIX=${BSDOBJ} NO_CLEAN="YES" make ${PARALLEL_BUILD} \ |
| TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} ${X_TARGET_CPUTYPE} \ |
| SRCCONF=${SRCCONF} __MAKE_CONF=${MAKECONF} buildworld |
| fi |
| if [ $? -eq 0 ]; then |
| cd - |
| else |
| exit 1 |
| fi |
} |
} |
|
|
install_world() |
install_world() |
{ |
{ |
echo "+++ Install ELWIX World ..." | echo "+++ Install ELWIX World ... $WORLD" |
cd $BSDSRC |
cd $BSDSRC |
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ | env MAKEOBJDIRPREFIX=${BSDOBJ} make \ |
installworld DESTDIR=${WORLD} | TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} ${X_TARGET_CPUTYPE} \ |
| SRCCONF=${SRCCONF} __MAKE_CONF=${MAKECONF} DESTDIR=${WORLD} installworld |
cd - |
cd - |
|
|
echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/elwix.ver | if [ $? -eq 0 ]; then |
| echo "ELWIX Platform:${PLATFORM} Version:${VERSION} TargetArch:${TARGET_ARCH}" >${WORLD}/elwix.ver |
| fi |
| |
| echo "+++ Completed ELWIX World ... $WORLD" |
} |
} |
|
|
|
build_cross() |
|
{ |
|
echo "+++ Build ELWIX Cross script ..." |
|
cd $BSDSRC |
|
cat >${CENV} <<_EOF |
|
#!/bin/sh |
|
# |
|
# Create auto cross build env script |
|
# |
|
export \\ |
|
_EOF |
|
env MAKEOBJDIRPREFIX=${BSDOBJ} make TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} ${X_TARGET_CPUTYPE} \ |
|
WORLDTMP=${WORLD} buildenvvars >> ${CENV} |
|
cat >>${CENV} <<_EOF |
|
PATH=$WORLD/elwix/pkg/bin:$WORLD/elwix/pkg/sbin:/elwix/pkg/bin:/elwix/pkg/sbin:$PKG/bin:$PKG/sbin:\$PATH:$PATH |
|
|
|
if [ -n "\${REPLACE_MAKEOBJDIRPREFIX}" ]; then |
|
MAKEOBJDIRPREFIX="\${REPLACE_MAKEOBJDIRPREFIX}" |
|
fi |
|
|
|
export CROSS_WORLD=$WORLD |
|
export CFLAGS="\$CFLAGS -I\${CROSS_WORLD}/usr/include" |
|
export LDFLAGS="\$LDFLAGS -L\${CROSS_WORLD}/lib -L\${CROSS_WORLD}/usr/lib" |
|
|
|
_EOF |
|
cd - |
|
cp ${CENV} ${CBUILD} |
|
cp ${CENV} ${CGBUILD} |
|
cp ${CENV} ${CEXEC} |
|
cat >>${CBUILD} <<_EOF |
|
make \$* |
|
_EOF |
|
echo "+++ Ready cross script ${CBUILD}" |
|
cat >>${CGBUILD} <<_EOF |
|
gmake \$* |
|
_EOF |
|
echo "+++ Ready cross script ${CGBUILD}" |
|
cat >>${CEXEC} <<_EOF |
|
eval \$* |
|
_EOF |
|
echo "+++ Ready cross script ${CEXEC}" |
|
chmod +x ${CBUILD} ${CGBUILD} ${CEXEC} ${CENV} |
|
echo "Done." |
|
} |
|
|
### main() |
### main() |
|
if [ -n "${1}" ]; then |
|
rm ${WORLD}/elwix.ver |
|
fi |
|
|
if ! SnitVer ${WORLD}/elwix.ver; then |
if ! SnitVer ${WORLD}/elwix.ver; then |
clean_world | if [ -z "$1" ]; then |
build_world | clean_world |
| fi |
| # build_toolchain $1 |
| build_world $1 |
install_world |
install_world |
|
|
|
build_cross |
else |
else |
echo "Skipped ELWIX World build ..." |
echo "Skipped ELWIX World build ..." |
fi |
fi |
|
|
|
|
echo "+++ Complete build ELWIX World" |
echo "+++ Complete build ELWIX World" |