(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:D) op: assign_op.Equal rhs: {<.depend>} spids: [94] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:append) op: assign_op.Equal rhs: {<0>} spids: [100] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pflag) op: assign_op.Equal rhs: (word.Empty) spids: [103] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<Id.Lit_Colon ':'>})]) body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ Id.VSub_Number '$1'))} arms: [ (case_arm pat_list: [{<-a>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:append) op: assign_op.Equal rhs: {<1>} spids: [130] ) ] ) (C {<shift>}) ] spids: [126 127 136 -1] ) (case_arm pat_list: [{<-f>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:D) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [148] ) ] ) (command.Sentence child: (C {<shift>}) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [144 145 157 -1] ) (case_arm pat_list: [{<-p>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pflag) op: assign_op.Equal rhs: {<p>} spids: [173] ) ] ) (C {<shift>}) ] spids: [169 170 179 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(command.ControlFlow token:<Id.ControlFlow_Break break>)] spids: [182 183 188 -1] ) ] ) ] ) ) (command.Case to_match: {($ Id.VSub_Pound '$#')} arms: [ (case_arm pat_list: [{<0>}] action: [ (command.Simple words: [{<echo>} {(SQ <'usage: mkdep [-ap] [-f file] [flags] file ...'>)}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [202 203 220 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TMP) op: assign_op.Equal rhs: {<_mkdep> ($ Id.VSub_Dollar '$$')} spids: [225] ) ] ) (C {<trap>} {(SQ <'rm -f $TMP ; trap 2 ; kill -2 $$'>)} {<1>} {<2>} {<3>} {<13>} {<15>}) (C {<trap>} {(SQ <'rm -f $TMP'>)} {<0>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CC) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name CC> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{(DQ <cc>)}) ) } spids: [263] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MKDEP_CPP) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name MKDEP_CPP> suffix_op: (suffix_op.Unary tok: <Id.VTest_Hyphen -> arg_word: {(DQ (${ Id.VSub_Name CC) <' -E'>)} ) ) } spids: [272] ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MKDEP_CPP_OPTS) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name MKDEP_CPP_OPTS> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:{(DQ <-M>)}) ) } spids: [284] ) ] ) terminator: <Id.Op_Semi _> ) (command.Simple words: [{<echo>} {(DQ <'# '> ($ Id.VSub_At '$@'))}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$TMP')} ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple words: [ {($ Id.VSub_DollarName '$MKDEP_CPP')} {($ Id.VSub_DollarName '$MKDEP_CPP_OPTS')} {(DQ ($ Id.VSub_At '$@'))} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$TMP')} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<Id.Lit_Colon ':'>})] spids: [310 325] ) ] else_action: [ (command.Simple words: [{<echo>} {(SQ <'mkdep: compile failed'>)}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.Case to_match: {<x> ($ Id.VSub_DollarName '$pflag')} arms: [ (case_arm pat_list: [{<x>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$append')} arms: [ (case_arm pat_list: [{<0>}] action: [ (command.Simple words: [{<sed>} {<-e>} {(SQ <'s; \\./; ;g'>)}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName '$TMP')} ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$D')} ) ] do_fork: T ) ] spids: [368 369 386 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Simple words: [{<sed>} {<-e>} {(SQ <'s; \\./; ;g'>)}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName '$TMP')} ) (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$D')} ) ] do_fork: T ) ] spids: [389 390 407 -1] ) ] ) ] spids: [357 358 413 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$append')} arms: [ (case_arm pat_list: [{<0>}] action: [ (command.Simple words: [{<sed>} {<-e>} {(SQ <'s;\\.o:;:;'>)} {<-e>} {(SQ <'s; \\./; ;g'>)}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName '$TMP')} ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$D')} ) ] do_fork: T ) ] spids: [428 429 452 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Simple words: [{<sed>} {<-e>} {(SQ <'s;\\.o:;:;'>)} {<-e>} {(SQ <'s; \\./; ;g'>)}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName '$TMP')} ) (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$D')} ) ] do_fork: T ) ] spids: [455 456 479 -1] ) ] ) ] spids: [417 418 485 -1] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{($ Id.VSub_QMark '$?')}) ] )