Files
build-toolchain/env.sh
2025-12-04 22:50:31 +03:00

46 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# env.sh — окружение для сборки под arm-uclinuxfdpiceabi (FDPIC, thumb)
TOP=`pwd`
PREFIX="${1:-${TOP}/arm-uclinuxfdpiceabi/sysroot/usr}"
TARGET=arm-uclinuxfdpiceabi
TOOLCHAIN=arm-uclinuxfdpiceabi
# Флаги, которые любит именно тулчейн
CFLAGS_TOOLSET='-O2'
ARFLAGS_TARGET=""
CFLAGS_TARGET='-Os -mthumb'
CXXFLAGS_TARGET=$CFLAGS_TARGET
LDFLAGS_TARGET='-Wl,--fdpic'
# Самое важное — сразу указываем компилятор и линковщик
CC="${TOOLCHAIN}-gcc ${CFLAGS_TOOLSET} ${CFLAGS_TARGET}"
CXX="${TOOLCHAIN}-g++ ${CFLAGS_TOOLSET} ${CXXFLAGS_TARGET}"
CPP="${TOOLCHAIN}-cpp"
LD="${TOOLCHAIN}-ld"
AR="${TOOLCHAIN}-ar ${ARFLAGS_TARGET}"
AS="${TOOLCHAIN}-as"
NM="${TOOLCHAIN}-nm"
RANLIB="${TOOLCHAIN}-ranlib"
STRIP="${TOOLCHAIN}-strip"
OBJCOPY="${TOOLCHAIN}-objcopy"
OBJDUMP="${TOOLCHAIN}-objdump"
# Путь к бинарникам тулчейна — в самое начало PATH
PATH="${TOP}/${TARGET}/bin:${PATH}"
# Экспортируем переменные
export PREFIX
export TARGET
export TOOLCHAIN
export CC CXX CPP LD AR AS NM RANLIB STRIP 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/Thumb) активировано"
echo " CC = $CC"
echo " CXX = $CXX"