cc/gcc: store core build rules in an array
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jun 13 20:43:02 2010 +0200 (2010-06-13)
changeset 19817130357d712b
parent 1980 4a3ef29eadcd
child 1982 63cee3d5ab85
cc/gcc: store core build rules in an array

Using an array makes it easier to add new rules.
Besides, it is easy to expand from build rules to install rules
scripts/build/cc/gcc.sh
     1.1 --- a/scripts/build/cc/gcc.sh	Sun Jun 13 20:31:42 2010 +0200
     1.2 +++ b/scripts/build/cc/gcc.sh	Sun Jun 13 20:43:02 2010 +0200
     1.3 @@ -92,6 +92,7 @@
     1.4      local tmp
     1.5      local -a extra_config
     1.6      local core_LDFLAGS
     1.7 +    local -a core_targets
     1.8  
     1.9      while [ $# -ne 0 ]; do
    1.10          eval "${1}"
    1.11 @@ -233,12 +234,10 @@
    1.12  
    1.13          if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then
    1.14              libgcc_rule="libgcc.mvars"
    1.15 -            build_rules="all-gcc all-target-libgcc"
    1.16 -            install_rules="install-gcc install-target-libgcc"
    1.17 +            core_targets=( gcc target-libgcc )
    1.18          else
    1.19              libgcc_rule="libgcc.mk"
    1.20 -            build_rules="all-gcc"
    1.21 -            install_rules="install-gcc"
    1.22 +            core_targets=( gcc )
    1.23          fi
    1.24  
    1.25          # On bare metal and canadian build the host-compiler is used when
    1.26 @@ -256,15 +255,14 @@
    1.27                                ${repair_cc}
    1.28          sed -r -i -e 's@-lc@@g' gcc/${libgcc_rule}
    1.29      else # build_libgcc
    1.30 -            build_rules="all-gcc"
    1.31 -            install_rules="install-gcc"
    1.32 +        core_targets=( gcc )
    1.33      fi   # ! build libgcc
    1.34  
    1.35      CT_DoLog EXTRA "Building ${mode} core C compiler"
    1.36 -    CT_DoExecLog ALL make ${PARALLELMFLAGS} ${build_rules}
    1.37 +    CT_DoExecLog ALL make ${PARALLELMFLAGS} "${core_targets[@]/#/all-}"
    1.38  
    1.39      CT_DoLog EXTRA "Installing ${mode} core C compiler"
    1.40 -    CT_DoExecLog ALL make ${install_rules}
    1.41 +    CT_DoExecLog ALL make "${core_targets[@]/#/install-}"
    1.42  
    1.43      # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-gcc to always be able
    1.44      # to call the C compiler with the same, somewhat canonical name.