#!/bin/sh ##-Global-defines-########################################### sName="binutils-2.20" D1="binutils" D2=$D1/wrk D3=$D1/src ##-Include-needed-configs-################################### source /etc/kInc.conf [[ ! -d $kWrkToolchain ]] && mkdir -p $kWrkToolchain source $kWrkToolchain/func.sh ##-Set-local-variables-###################################### _prx=$(get_prefix) _cf=$(get_c_flags "" 64) _lf=${c_ld_flags} _idir=${_prx}/$(get_arch_triplet 64)/include _ldir=${_prx}/$(get_arch_triplet 64)/lib _tag_dir=${_prx}/$(get_arch_triplet 64) _tag_file=${D1}.tag ##-Define-build-API-:)####################################### ##-Prepare-to-build-######################################### function __int_prepare() { cd $kWrkToolchain [[ ! -d $kWrkToolchain/$D1 ]] && mkdir -p $kWrkToolchain/$D1 [[ -d $kWrkToolchain/$D3 ]] && fsUnLink $kWrkToolchain/$D3 [[ -d $kWrkToolchain/$D2 ]] && rm -rf $kWrkToolchain/$D2 mkdir -p $kWrkToolchain/$D2 fsLink $kWrkToolchain/$D3 $kSources/$sName } ##-Configure-################################################ function __int_config() { cd $kWrkToolchain/$D2 CFLAGS="${_cf}" \ CPPFLAGS="${_cf}" \ CXXFLAGS="${_cf}" \ LDFLAGS="${_lf}" \ $kWrkToolchain/$D3/configure \ --prefix=${_prx} \ --build=${c_arch_32} \ --target=${c_arch_64} \ --libdir=${_ldir} \ --includedir=${_idir} \ --infodir=${_prx}/share/info \ --mandir=${_prx}/share/man \ --with-sysroot=${_prx} \ --with-build-sysroot=${_prx} \ --enable-targets=${c_arch_64},${c_arch_32} \ --enable-static \ --disable-shared \ --disable-nls \ --with-gmp=${_prx}/sup \ --with-mpfr=${_prx}/sup \ --enable-64-bit-bfd } ##-Make-##################################################### function __int_make() { cd $kWrkToolchain/$D2 make -j6 all } ##-Install-################################################## function __int_install() { cd $kWrkToolchain/$D2 make install } ##-Post-Install-steps-####################################### function __int_post_install() { # ...tagging [[ ! -d ${_tag_dir} ]] && mkdir -p ${_tag_dir} _fl=${_tag_dir}/${_tag_file} echo "VER: ${sName}" >>${_fl} } ##-Cleanup-################################################## function __int_clean() { cd $kWrkToolchain [[ -d $kWrkToolchain/$D3 ]] && fsUnLink $kWrkToolchain/$D3 [[ -d $kWrkToolchain/$D2 ]] && rm -rf $kWrkToolchain/$D2 } ##-Test-##################################################### function __int_test() { printf "This is a test...\n${_prx}" } ##-Batch-build-############################################## function __int_batch() { __int_prepare __int_config __int_make __int_install __int_post_install __int_clean } ############################################################# for i; do __int_${i} done