MAKEALL: update to work with new boards.cfg syntax
authorAllen Martin <amartin@nvidia.com>
Fri, 31 Aug 2012 08:30:06 +0000 (08:30 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Sat, 1 Sep 2012 12:58:21 +0000 (14:58 +0200)
Update MAKEALL to handle the optional SPL CPU field that was added to
boards.cfg.  This impacts the cases in MAKEALL that have to match
against CPU type (field 3).  In these cases use ':' as a field
separator to split the u-boot CPU from the SPL CPU.

Signed-off-by: Allen Martin <amartin@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
MAKEALL

diff --git a/MAKEALL b/MAKEALL
index 6b9ff30..eb7dd02 100755 (executable)
--- a/MAKEALL
+++ b/MAKEALL
@@ -87,9 +87,9 @@ while true ; do
        -c|--cpu)
                # echo "Option CPU: argument \`$2'"
                if [ "$opt_c" ] ; then
-                       opt_c="${opt_c%)} || \$3 == \"$2\")"
+                       opt_c="${opt_c%)} || \$3 == \"$2\" || \$3 ~ /$2:/)"
                else
-                       opt_c="(\$3 == \"$2\")"
+                       opt_c="(\$3 == \"$2\" || \$3 ~ /$2:/)"
                fi
                SELECTED='y'
                shift 2 ;;
@@ -211,14 +211,17 @@ RC=0
 # Helper funcs for parsing boards.cfg
 boards_by_field()
 {
+       FS="[ \t]+"
+       [ -n "$3" ] && FS="$3"
        awk \
                -v field="$1" \
                -v select="$2" \
+               -F "$FS" \
                '($1 !~ /^#/ && $field == select) { print $1 }' \
                boards.cfg
 }
 boards_by_arch() { boards_by_field 2 "$@" ; }
-boards_by_cpu()  { boards_by_field 3 "$@" ; }
+boards_by_cpu()  { boards_by_field 3 "$@" "[: \t]+" ; }
 boards_by_soc()  { boards_by_field 6 "$@" ; }
 
 #########################################################################