- Updated build-libraries.sh to use --global and --path options for environment registration, enhancing clarity and consistency. - Modified env.sh to support custom paths and improved error handling for the --path argument, streamlining toolchain path resolution. - Removed redundant SYSROOT_DIR assignments to simplify the script logic.
58 lines
1.6 KiB
Bash
Executable File
58 lines
1.6 KiB
Bash
Executable File
TOP="$(pwd)"
|
|
TOOLCHAIN_PATH=""
|
|
GLOBAL_MODE=0
|
|
CUSTOM_PATH=""
|
|
|
|
while [ $# -gt 0 ]; do
|
|
case "$1" in
|
|
--global)
|
|
GLOBAL_MODE=1
|
|
shift
|
|
;;
|
|
--path)
|
|
if [ -z "$2" ]; then
|
|
echo "Ошибка: для --path нужно указать путь"
|
|
return 1 2>/dev/null || exit 1
|
|
fi
|
|
CUSTOM_PATH="$2"
|
|
shift 2
|
|
;;
|
|
*)
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ -n "${CUSTOM_PATH}" ]; then
|
|
TOOLCHAIN_PATH="${CUSTOM_PATH}"
|
|
elif [ -d "${TOP}/arm-uclinuxfdpiceabi" ]; then
|
|
TOOLCHAIN_PATH="${TOP}/arm-uclinuxfdpiceabi"
|
|
elif [ -d "${TOP}/build/install" ]; then
|
|
TOOLCHAIN_PATH="${TOP}/build/install"
|
|
fi
|
|
|
|
if [ -n "${TOOLCHAIN_PATH}" ] && [ -x "${TOOLCHAIN_PATH}/bin/arm-uclinuxfdpiceabi-gcc" ]; then
|
|
echo "Найден toolchain: ${TOOLCHAIN_PATH}/bin/arm-uclinuxfdpiceabi-gcc"
|
|
|
|
CFLAGS_TOOLSET='-O2'
|
|
CFLAGS_TARGET='-Os -mthumb'
|
|
SUBARCH=armv7-m
|
|
SUBMODE=thumb
|
|
|
|
if [ "$GLOBAL_MODE" -eq 1 ]; then
|
|
export CFLAGS="${CFLAGS_TOOLSET}"
|
|
export CFLAGS_FOR_TARGET="${CFLAGS_TARGET}"
|
|
export CXXFLAGS_FOR_TARGET="${CFLAGS_TARGET}"
|
|
export SUBARCH
|
|
export SUBMODE
|
|
export PATH="${TOOLCHAIN_PATH}/bin:${PATH}"
|
|
else
|
|
CFLAGS="${CFLAGS_TOOLSET}"
|
|
CFLAGS_FOR_TARGET="${CFLAGS_TARGET}"
|
|
CXXFLAGS_FOR_TARGET="${CFLAGS_TARGET}"
|
|
PATH="${TOOLCHAIN_PATH}/bin:${PATH}"
|
|
fi
|
|
else
|
|
echo "Ошибка: не найден ${TOOLCHAIN_PATH}/bin/arm-uclinuxfdpiceabi-gcc"
|
|
return 1 2>/dev/null || exit 1
|
|
fi |