55 lines
1.8 KiB
Bash
Executable File
55 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
||
# env.sh — окружение для сборки под arm-uclinuxfdpiceabi (FDPIC, thumb)
|
||
|
||
TOP="$(pwd)"
|
||
TARGET=arm-uclinuxfdpiceabi
|
||
TOOLCHAIN=arm-uclinuxfdpiceabi
|
||
|
||
# Если передали путь — используем его, иначе берём bin в текущей папке
|
||
# Пример вызова: ./env.sh /opt/toolchains/arm/bin
|
||
TOOLCHAIN_PATH="${1:-${TOP}/${TARGET}/bin}"
|
||
|
||
SYSROOT="${TOOLCHAIN_ROOT}/sysroot"
|
||
PREFIX="${SYSROOT}/usr"
|
||
|
||
# Флаги тулчейна
|
||
CFLAGS_TOOLSET='-O2'
|
||
ARFLAGS_TARGET="${2:-}"
|
||
CFLAGS_TARGET='-Os -mthumb'
|
||
CXXFLAGS_TARGET=$CFLAGS_TARGET
|
||
LDFLAGS_TARGET='-Wl,--fdpic'
|
||
|
||
# Указание полного пути к компиляторам
|
||
CC="${TOOLCHAIN_PATH}/${TOOLCHAIN}-gcc ${CFLAGS_TOOLSET} ${CFLAGS_TARGET}"
|
||
CXX="${TOOLCHAIN_PATH}/${TOOLCHAIN}-g++ ${CFLAGS_TOOLSET} ${CXXFLAGS_TARGET}"
|
||
CPP="${TOOLCHAIN_PATH}/${TOOLCHAIN}-cpp"
|
||
LD="${TOOLCHAIN_PATH}/${TOOLCHAIN}-ld"
|
||
AR="${TOOLCHAIN_PATH}/${TOOLCHAIN}-ar"
|
||
ARFLAGS="${ARFLAGS_TARGET}"
|
||
AS="${TOOLCHAIN_PATH}/${TOOLCHAIN}-as"
|
||
NM="${TOOLCHAIN_PATH}/${TOOLCHAIN}-nm"
|
||
RANLIB="${TOOLCHAIN_PATH}/${TOOLCHAIN}-ranlib"
|
||
STRIP="${TOOLCHAIN_PATH}/${TOOLCHAIN}-strip"
|
||
OBJCOPY="${TOOLCHAIN_PATH}/${TOOLCHAIN}-objcopy"
|
||
OBJDUMP="${TOOLCHAIN_PATH}/${TOOLCHAIN}-objdump"
|
||
|
||
# PATH — toolchain/bin должен быть в начале
|
||
PATH="${TOOLCHAIN_PATH}:${PATH}"
|
||
|
||
# Экспорт
|
||
export SYSROOT
|
||
export PREFIX
|
||
export TARGET
|
||
export TOOLCHAIN
|
||
export CC CXX CPP LD AR ARFLAGS AS NM RANLIB STRIP OBJCOPY OBJDUMP
|
||
export CFLAGS CXXFLAGS LDFLAGS
|
||
export CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET LDFLAGS_FOR_TARGET
|
||
export PATH
|
||
export SUBARCH=armv7-m
|
||
export SUBMODE=thumb
|
||
|
||
echo "Окружение для ${TARGET} (Thumb/FDPIC) активировано"
|
||
echo " TOOLCHAIN_PATH = $TOOLCHAIN_PATH"
|
||
echo " CC = $CC"
|
||
echo " CXX = $CXX"
|