(command.CommandList children: [ (C {<set>} {<-e>}) (command.ShFunction name: do_command body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(${ Id.VSub_Name srctree) <'/arch/'> ($ Id.VSub_Number '$2') <'/include/asm/Kbuild'> } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<make>} {<Id.Lit_VarLike 'ARCH='> ($ Id.VSub_Number '$2')} {<Id.Lit_VarLike 'KBUILD_HEADERS='> ($ Id.VSub_Number '$1')} {<headers_> ($ Id.VSub_Number '$1')} ) ] spids: [22 38] ) ] else_action: [ (C {<printf>} {(DQ <'Ignoring arch: %s'> <Id.Lit_BadBackslash '\\'> <n>)} {(${ Id.VSub_Name arch)} ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:archs) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name HDR_ARCH_LIST> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<ls>} {(${ Id.VSub_Name srctree) <'/arch'>}) ) } ) ) } spids: [74] ) ] ) (command.ForEach iter_name: arch iter_words: [{(${ Id.VSub_Name archs)}] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: {(${ Id.VSub_Name arch)} arms: [ (case_arm pat_list:[{<um>}] spids:[112 113 119 -1]) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-d>} {(${ Id.VSub_Name srctree) <'/arch/'> (${ Id.VSub_Name arch)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<do_command>} {($ Id.VSub_Number '$1')} {(${ Id.VSub_Name arch)}) ] spids: [126 143] ) ] ) ] spids: [122 123 158 -1] ) ] ) ] ) ) ] )