#!/bin/bash KERNEL_TOOLCHAIN_VERSION=r14612 KERNEL_TOOLCHAIN_FILENAME_SUFFIX=freetz-${KERNEL_TOOLCHAIN_VERSION}-shared-glibc TARGET_TOOLCHAIN_VERSION=r14612 TARGET_TOOLCHAIN_FILENAME_SUFFIX=freetz-${TARGET_TOOLCHAIN_VERSION}-shared-glibc TOOL_CONF=tools/config/conf DOT_CONFIG=.config DOWNLOADS=~/dl miniconfig() { local i for i in "$@"; do echo "$i=y"; done cat << EOF FREETZ_USER_LEVEL_EXPERT=y FREETZ_BUILD_TOOLCHAIN=y FREETZ_TOOLCHAIN_32BIT=y EOF } # # required kernel compiler versions: # 3.4 LE # 4.6 LE/BE # 4.7 BE # 4.8 BE # 5 BE # # required uClibc versions: # 0.9.28 LE # 0.9.29 LE # 0.9.32.x LE/BE # 0.9.33.x LE/BE (as part of freetz uClibc-0.9.33.x test program) # 0.9.33.x BE-NPTL # 0.9.33.x BE-NPTL-KERNEL_3.10 # # kernel uClibc # FREETZ_TYPE_WLAN 3.4 LE 0.9.28 LE # FREETZ_TYPE_7270_V1+IPv6 3.4 LE 0.9.29 LE # FREETZ_TYPE_7270_V3 4.6 LE 0.9.32.x LE # FREETZ_TYPE_7270_V3+0.9.33 4.6 LE 0.9.33.x LE # # FREETZ_TYPE_7390+05.5X 4.6 BE 0.9.32.x BE # FREETZ_TYPE_7390+05.5X+0.9.33 4.6 BE 0.9.33.x BE # FREETZ_TYPE_7390+06.0X 4.7 BE 0.9.33.x BE NPTL # FREETZ_TYPE_7390+06.2X 4.8 BE 0.9.33.x BE NPTL # FREETZ_TYPE_7490+06.5X 4.8 BE 0.9.33.x BE NPTL KERNEL_3.10 # FREETZ_TYPE_7580+06.8X 5 BE 0.9.33.x BE NPTL KERNEL_3.10 # mkdir -p $DOWNLOADS for options in \ "FREETZ_TYPE_WLAN" \ \ "FREETZ_TYPE_7270_V1 FREETZ_TARGET_IPV6_SUPPORT" \ \ "FREETZ_TYPE_7270_V3" \ "FREETZ_TYPE_7270_V3 FREETZ_TARGET_UCLIBC_0_9_33" \ \ "FREETZ_TYPE_7390 FREETZ_TYPE_FIRMWARE_05_5X" \ "FREETZ_TYPE_7390 FREETZ_TYPE_FIRMWARE_05_5X FREETZ_TARGET_UCLIBC_0_9_33" \ \ "FREETZ_TYPE_7390 FREETZ_TYPE_FIRMWARE_06_0X" \ \ "FREETZ_TYPE_7390 FREETZ_TYPE_FIRMWARE_06_2X" \ \ "FREETZ_TYPE_7490 FREETZ_TYPE_FIRMWARE_06_5X" \ \ "FREETZ_TYPE_7580 FREETZ_TYPE_FIRMWARE_06_8X" \ ; do optionsCommaSep=$(echo $options | sed -e 's| |,|g') optionsUnderscoreSep=$(echo $options | sed -e 's| |_|g') echo "Building toolchains for $optionsCommaSep" make distclean rm -rf dl 2>/dev/null ln -sf $DOWNLOADS dl make $TOOL_CONF miniconfig $options > $DOT_CONFIG $TOOL_CONF --oldnoconfig config/Config.in cp -a $DOT_CONFIG $DOT_CONFIG.$optionsUnderscoreSep make KTV=${KERNEL_TOOLCHAIN_FILENAME_SUFFIX} TTV=${TARGET_TOOLCHAIN_FILENAME_SUFFIX} toolchain done