(CommandList children: [ (C {(Lit_Other ':')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:Myname) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(basename)} {($ VSub_Number '$0')} {(.sh)})] ) left_token: <Left_Backtick '`'> spids: [167 173] ) } spids: [166] ) ] spids: [166] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:Mydir) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {($ VSub_Number '$0')})]) left_token: <Left_Backtick '`'> spids: [176 180] ) } spids: [175] ) ] spids: [175] ) (Case to_match: { (CommandSubPart command_list: (CommandList children:[(C {(echo)} {(-n)} {(.)})]) left_token: <Left_Backtick '`'> spids: [185 191] ) } arms: [ (case_arm pat_list: [{(-n) (Lit_Other '*')}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:N) op:Equal rhs:{(SQ )} spids:[199])] spids: [199] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:C) op: Equal rhs: {(DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\c'>))} spids: [202] ) ] spids: [202] ) ] spids: [195 197 206 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:N) op:Equal rhs:{(-n)} spids:[211])] spids: [211] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:C) op:Equal rhs:{(SQ )} spids:[215])] spids: [215] ) ] spids: [208 209 216 -1] ) ] spids: [183 193 218] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:cc_include) op:Equal rhs:{(-I/usr/include)} spids:[221])] spids: [221] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TF) op: Equal rhs: {(/tmp/dep.) ($ VSub_Dollar '$$')} spids: [225] ) ] spids: [225] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EF) op: Equal rhs: {(/tmp/deperr.) ($ VSub_Dollar '$$')} spids: [229] ) ] spids: [229] ) (SimpleCommand redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{($ VSub_Name '$EF')} spids:[233])] ) (Case to_match: {(DQ ($ VSub_Star '$*'))} arms: [ (case_arm pat_list: [{(Lit_Other '*') (-n) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal rhs:{(/dev/null)} spids:[255])] spids: [255] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:norc) op:Equal rhs:{(yes)} spids:[259])] spids: [259] ) ] spids: [246 249 261 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rc) op: Equal rhs: {($ VSub_Name '$Mydir') (/.) (${ VSub_Name Myname) (rc)} spids: [267] ) ] spids: [267] ) ] spids: [263 264 276 -1] ) ] spids: [238 244 278] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:update) op:Equal rhs:{(SQ )} spids:[281])] spids: [281] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:Include) op:Equal rhs:{(include)} spids:[283])] spids: [283] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(x) (DQ ($ VSub_Name '$norc'))} {(Lit_Other '=')} {(x)} {(-a)} {(-f)} {($ VSub_Name '$rc')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(.)} {($ VSub_Name '$rc')})] spids: [-1 309] ) ] else_action: [ (SimpleCommand words: [{(echo)} {(Lit_Other ':')}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{($ VSub_Name '$rc')} spids:[335])] ) (SimpleCommand words: [{(echo)} {(DQ ('# pre-processor for .c files'))}] redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{($ VSub_Name '$rc')} spids:[346])] ) (ForEach iter_name: d iter_words: [{(/usr/libexec)} {(/usr/lib)} {(/usr/bin)} {(/lib)} {(/usr/ccs/bin)}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cpp_c) op: Equal rhs: {($ VSub_Name '$d') (/cpp)} spids: [375] ) ] spids: [375] ) (AndOr children: [ (C {(Lit_Other '[')} {(-x)} {($ VSub_Name '$cpp_c')} {(Lit_Other ']')}) (ControlFlow token:<ControlFlow_Break break>) ] op_id: Op_DAmp ) ] spids: [372 393] ) spids: [360 -1] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-x)} {($ VSub_Name '$cpp_c')} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(Lit_VarLike 'cpp_c=') ($ VSub_Name '$cpp_c')}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name '$rc')} spids: [417] ) ] ) ] spids: [-1 409] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:cpp_c) op:Equal rhs:{(SQ )} spids:[425])] spids: [425] ) (SimpleCommand words: [{(echo)} {(DQ ('#include <stdio.h>'))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/tmp/f) ($ VSub_Dollar '$$') (.c)} spids: [438] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ('main() { return 0; }'))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(/tmp/f) ($ VSub_Dollar '$$') (.c)} spids: [451] ) ] ) (ForEach iter_name: arg iter_words: [{(-E)} {(-P)} {(-M)}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ok) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [ { (BracedVarSub token: <VSub_Name REALCC> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (BracedVarSub token: <VSub_Name CC> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(cc)} ) spids: [483 487] ) } ) spids: [480 488] ) } {($ VSub_Name '$arg')} {(/tmp/f) ($ VSub_Dollar '$$') (.c)} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [496] ) ] ) (C {(grep)} {(SQ <'^#.*stdio.h'>)}) (C {(tail)} {(-1)}) ] negated: False ) ] ) left_token: <Left_Backtick '`'> spids: [479 512] ) } spids: [478] ) ] spids: [478] ) (Case to_match: {(DQ ($ VSub_Name '$ok'))} arms: [ (case_arm pat_list:[{(DQ )}] spids:[-1526528-1]) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cpp_c) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name REALCC> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (BracedVarSub token: <VSub_Name CC> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(cc)} ) spids: [540 544] ) } ) spids: [537 545] ) (' ') ($ VSub_Name '$arg') ) } spids: [535] ) ] spids: [535] ) (SimpleCommand words: [ {(echo)} {(Lit_VarLike 'cpp_c=') (DQ ("'") ($ VSub_Name '$cpp_c') ("'"))} ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name '$rc')} spids: [560] ) ] ) (ControlFlow token:<ControlFlow_Break break>) ] spids: [531 532 566 -1] ) ] spids: [515 521 569] ) ] spids: [475 572] ) spids: [467 -1] ) (C {(rm)} {(-f)} {(/tmp/f) ($ VSub_Dollar '$$') (.c)}) ] spids: [422 584] ) ] spids: [316 586] ) (FuncDef name: clean_up body: (BraceGroup children: [ (C {(trap)} {(DQ )} {(2)} {(3)}) (C {(trap)} {(0)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-s)} {($ VSub_Name '$EF')} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(egrep)} {(-vi)} {(DQ ('included from|warning'))} {($ VSub_Name '$EF')}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(${ VSub_Name EF) (2)} spids: [635] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-s)} {(${ VSub_Name EF) (2)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(cat)} {($ VSub_Name '$EF')}] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [664] ) ] ) (C {(rm)} {(-f)} {(.depend)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ests) op: Equal rhs: {(1)} spids: [675] ) ] spids: [675] ) ] spids: [-1 657] ) ] spids: [-1 679] ) ] spids: [-1 622] ) ] spids: [-1 682] ) (C {(rm)} {(-f)} {($ VSub_Name '$TF')} {($ VSub_Name '$EF') (Lit_Other '*')}) (C {(exit)} { (BracedVarSub token: <VSub_Name ests> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(0)}) spids: [697 701] ) } ) ] spids: [593] ) spids: [589 592] ) (C {(trap)} {(clean_up)} {(0)}) (C {(trap)} {(exit)} {(2)} {(3)}) (FuncDef name: get_incs body: (BraceGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$cpp'))} arms: [ (case_arm pat_list: [{(grep)}] action: [ (Pipeline children: [ (C {(egrep)} {(SQ <'^#[ \t]*include'>)} {($ VSub_Star '$*')}) (C {(egrep)} {(-v)} {(DQ ($ VSub_Name '$IGNORE'))}) (C {(sed)} {(-e)} {(SQ <'s/^.*include[^"<]*["<]//'>)} {(-e)} {(SQ <'s/[">].*//g'>)}) ] negated: False ) ] spids: [740 741 783 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Pipeline children: [ (SimpleCommand words: [ {($ VSub_Name '$cpp')} {($ VSub_Name '$cpp_opts')} {($ VSub_Name '$cc_include')} {($ VSub_Star '$*')} ] redirects: [ (Redir op_id: Redir_DGreat fd: 2 arg_word: {($ VSub_Name '$EF')} spids: [810] ) ] ) (C {(egrep)} {(SQ <'^#.*\\.h"'>)}) (C {(sed)} {(SQ <'s,^#.*"\\(.*\\)".*,\\1,'>)}) (C {(egrep)} {(-v)} {(DQ ($ VSub_Name '$IGNORE'))}) (C {(sort)} {(-u)}) ] negated: False ) ] spids: [786 787 846 -1] ) ] spids: [731 737 849] ) ] spids: [728] ) spids: [724 727] ) (FuncDef name: gen_deps body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:llen) op: Equal rhs: {($ VSub_Number '$1')} spids: [861] ) ] spids: [861] ) (C {(shift)}) (ForEach iter_name: ifile iter_words: [{($ VSub_Star '$*')}] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$cpp'))} arms: [ (case_arm pat_list: [{(grep)}] action: [ (ForEach iter_name: dir iter_words: [ {($ VSub_Name '$srcdir')} {($ VSub_Name '$dirlist')} {(/usr/include)} ] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$ifile'))} {(Lit_Other ']')} ) (ControlFlow token: <ControlFlow_Break break> ) ] op_id: Op_DAmp ) ] spids: [911 931] ) spids: [903 -1] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$ifile'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:iline) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(grep)} {(-n)} { (DQ ('.*include.*[') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ('<]') ($ VSub_Name '$ifile') ('[') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('>]') ) } {($ VSub_Name '$file')} ) (C {(cut)} {(-d) (Lit_Other ':')} {(-f1)}) ] negated: False ) ] ) left_token: <Left_Backtick '`'> spids: [960 985] ) } spids: [959] ) ] spids: [959] ) (SimpleCommand words: [ {(echo)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$file') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (', line ') ($ VSub_Name '$iline') (': cannot find include file ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$ifile') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name '$EF')} spids: [1002] ) ] ) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [-1 952] ) ] spids: [-1 1018] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ifile) op: Equal rhs: {($ VSub_Name '$dir') (/) ($ VSub_Name '$ifile')} spids: [1021] ) ] spids: [1021] ) (Case to_match: { (CommandSubPart command_list: (CommandList children: [ (C {(grep)} {(DQ ($ VSub_Name '$ifile'))} {($ VSub_Name '$TF')} ) ] ) left_token: <Left_Backtick '`'> spids: [1035 1043] ) } arms: [ (case_arm pat_list: [{(DQ )}] action: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$ifile'))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name '$TF')} spids: [1058] ) ] ) ] spids: [-1 1050 1061 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [1064 1065 1068 -1] ) ] spids: [1033 1045 1074] ) ] spids: [890 891 1077 -1] ) ] spids: [881 887 1080] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:len) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {(DQ ($ VSub_Name '$ifile') (' '))} {(Lit_Other ':')} {(SQ <'.*'>)} ) ] ) left_token: <Left_Backtick '`'> spids: [1086 1099] ) } spids: [1085] ) ] spids: [1085] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {($ VSub_Name '$llen')} {(Lit_Other '+')} {($ VSub_Name '$len')} ) ] ) left_token: <Left_Backtick '`'> spids: [1107 1115] ) ) } {(-gt)} { (BracedVarSub token: <VSub_Name width> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(76)}) spids: [1120 1124] ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(.depend)} spids: [1138] ) ] ) (SimpleCommand words: [{(echo)} {($ VSub_Name '$N')} {(DQ ('\t') ($ VSub_Name '$C'))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(.depend)} spids: [1152] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:llen) op: Equal rhs: {(8)} spids: [1157] ) ] spids: [1157] ) ] spids: [-1 1129] ) ] spids: [-1 1161] ) (SimpleCommand words: [ {(echo)} {($ VSub_Name '$N')} {(DQ ($ VSub_Name '$ifile') (' ') ($ VSub_Name '$C'))} ] redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(.depend)} spids:[1174])] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:llen) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {($ VSub_Name '$llen')} {(Lit_Other '+')} {($ VSub_Name '$len')} ) ] ) left_token: <Left_Backtick '`'> spids: [1180 1188] ) } spids: [1179] ) ] spids: [1179] ) (Case to_match: {(DQ ($ VSub_Name '$cpp'))} arms: [ (case_arm pat_list: [{(grep)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ilist) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(get_incs)} {($ VSub_Name '$ifile')})] ) left_token: <Left_Backtick '`'> spids: [1211 1215] ) } spids: [1210] ) ] spids: [1210] ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$ilist'))} {(Lit_Other ']')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:llen) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(gen_deps)} {($ VSub_Name '$llen')} {($ VSub_Name '$ilist')} ) ] ) left_token: <Left_Backtick '`'> spids: [1232 1238] ) } spids: [1231] ) ] spids: [1231] ) ] op_id: Op_DAmp ) ] spids: [1202 1203 1241 -1] ) ] spids: [1193 1199 1244] ) ] spids: [878 1247] ) spids: [874 -1] ) (C {(echo)} {($ VSub_Name '$llen')}) ] spids: [858] ) spids: [854 857] ) (ForEach iter_name: f iter_words: [{(makefile)} {(Makefile)}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(test)} {(-s)} {($ VSub_Name '$f')}) (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MAKEFILE) op: Equal rhs: {($ VSub_Name '$f')} spids: [1280] ) ] spids: [1280] ) terminator: <Op_Semi ';'> ) (Sentence child: (ControlFlow token:<ControlFlow_Break break>) terminator: <Op_Semi ';'> ) ] spids: [1278] ) ] op_id: Op_DAmp ) ] spids: [1267 1289] ) spids: [1262 -1] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MAKEFILE) op: Equal rhs: { (BracedVarSub token: <VSub_Name MAKEFILE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(makefile)}) spids: [1293 1297] ) } spids: [1292] ) ] spids: [1292] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IGNORE) op: Equal rhs: { (BracedVarSub token: <VSub_Name IGNORE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ ('^-'))}) spids: [1300 1306] ) } spids: [1299] ) ] spids: [1299] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:obj) op:Equal rhs:{(o)} spids:[1311])] spids: [1311] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:cpp_opts) op:Equal rhs:{(SQ )} spids:[1314])] spids: [1314] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:vpath) op:Equal rhs:{(SQ )} spids:[1319])] spids: [1319] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:append) op:Equal rhs:{(SQ )} spids:[1321])] spids: [1321] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:progDep) op:Equal rhs:{(SQ )} spids:[1323])] spids: [1323] ) (C {(set)} {(--)} { (CommandSubPart command_list: (CommandList children: [(C {(getopt)} {(DQ ('AanNV:s:w:o:I:D:b:f:i:p'))} {(DQ ($ VSub_At '$@'))})] ) left_token: <Left_Backtick '`'> spids: [1330 1340] ) } ) (ForEach iter_name: key iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$key')} arms: [ (case_arm pat_list: [{(--)}] action: [ (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (ControlFlow token:<ControlFlow_Break break>) ] spids: [1362 1363 1369 -1] ) (case_arm pat_list: [{(-A)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:Include) op: Equal rhs: {(SQ )} spids: [1375] ) ] spids: [1375] ) ] spids: [1372 1373 1376 -1] ) (case_arm pat_list: [{(-a)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:append) op: Equal rhs: {(yes)} spids: [1385] ) ] spids: [1385] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] spids: [1382 1383 1390 -1] ) (case_arm pat_list: [{(-n)}] action: [(C {(shift)})] spids: [1393 1394 1397 -1] ) (case_arm pat_list: [{(-N)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:update) op: Equal rhs: {(no)} spids: [1406] ) ] spids: [1406] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] spids: [1403 1404 1411 -1] ) (case_arm pat_list: [{(-I)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cpp_opts) op: Equal rhs: { (DQ ($ VSub_Name '$cpp_opts') ($ VSub_Number '$1') ($ VSub_Number '$2') (' ') ) } spids: [1420] ) ] spids: [1420] ) terminator: <Op_Semi ';'> ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dirlist) op: Equal rhs: {(DQ ($ VSub_Name '$dirlist') (' ') ($ VSub_Number '$2'))} spids: [1429] ) ] spids: [1429] ) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [1417 1418 1440 -1] ) (case_arm pat_list: [{(-o)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:obj) op: Equal rhs: {($ VSub_Number '$2')} spids: [1446] ) ] spids: [1446] ) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [1443 1444 1453 -1] ) (case_arm pat_list: [{(-s)}] action: [(C {(shift)} {(2)})] spids: [1456 1457 1462 -1] ) (case_arm pat_list: [{(-w)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:width) op: Equal rhs: {($ VSub_Number '$2')} spids: [1471] ) ] spids: [1471] ) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [1468 1469 1478 -1] ) (case_arm pat_list: [{(-f)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MAKEFILE) op: Equal rhs: {($ VSub_Number '$2')} spids: [1484] ) ] spids: [1484] ) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [1481 1482 1491 -1] ) (case_arm pat_list: [{(-b)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BASEDIR) op: Equal rhs: {($ VSub_Number '$2')} spids: [1497] ) ] spids: [1497] ) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [1494 1495 1504 -1] ) (case_arm pat_list: [{(-i)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IGNORE) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1510] ) ] spids: [1510] ) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [1507 1508 1519 -1] ) (case_arm pat_list: [{(-D)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cpp_opts) op: Equal rhs: { (DQ ($ VSub_Name '$cpp_opts') ($ VSub_Number '$1') ($ VSub_Number '$2') (' ') ) } spids: [1528] ) ] spids: [1528] ) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [1525 1526 1540 -1] ) (case_arm pat_list: [{(-V)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VPATH) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1546] ) ] spids: [1546] ) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [1543 1544 1555 -1] ) (case_arm pat_list: [{(-p)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:progDep) op: Equal rhs: {(yes)} spids: [1564] ) ] spids: [1564] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] spids: [1561 1562 1569 -1] ) ] spids: [1355 1359 1572] ) ] spids: [1352 1574] ) spids: [1347 -1] ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$VPATH'))} {(Lit_Other ']')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:vpath) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(Lit_Other ':')} spids: [1589] ) ] spids: [1589] ) terminator: <Op_Semi ';'> ) (Sentence child: (C {(set)} {(--)} {($ VSub_Name '$VPATH')}) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_Star '$*')}) ] ) left_token: <Left_Backtick '`'> spids: [1588 1603] ) } spids: [1587] ) ] spids: [1587] ) ] op_id: Op_DAmp ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$append'))} {(Lit_Other ']')}) (SimpleCommand redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(.depend)} spids:[1616])] ) ] op_id: Op_DPipe ) (ForEach iter_name: file iter_words: [{($ VSub_Star '$*')}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:cpp) op:Equal rhs:{(SQ )} spids:[1632])] spids: [1632] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:suffix) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {($ VSub_Name '$file')} {(Lit_Other ':')} {(SQ <'.*\\.\\([^.]*\\)'>)} ) ] ) left_token: <Left_Backtick '`'> spids: [1636 1646] ) } spids: [1635] ) ] spids: [1635] ) (C {(eval)} {(Lit_VarLike 'cpp=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_LBrace '{') (cpp_) (${ VSub_Name suffix) (Lit_Other ':') (-grep) (Lit_RBrace '}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {($ VSub_Name '$file')} {(-a)} {(DQ ($ VSub_Name '$vpath'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (ForEach iter_name: d iter_words: [{(.)} {($ VSub_Name '$vpath')}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(Lit_Other '[')} {(-f)} {($ VSub_Name '$d') (/) ($ VSub_Name '$file')} {(Lit_Other ']')} ) (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {($ VSub_Name '$d') (/) ($ VSub_Name '$file')} spids: [1718] ) ] spids: [1718] ) terminator: <Op_Semi ';'> ) (Sentence child: (ControlFlow token:<ControlFlow_Break break>) terminator: <Op_Semi ';'> ) ] spids: [1716] ) ] op_id: Op_DAmp ) ] spids: [1701 1730] ) spids: [1695 -1] ) ] spids: [-1 1687] ) ] spids: [-1 1733] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:srcdir) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {($ VSub_Name '$file')})] ) left_token: <Left_Backtick '`'> spids: [1737 1741] ) } spids: [1736] ) ] spids: [1736] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:base) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(basename)} {($ VSub_Name '$file')} {(.) ($ VSub_Name '$suffix')}) ] ) left_token: <Left_Backtick '`'> spids: [1745 1752] ) } spids: [1744] ) ] spids: [1744] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ilist) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(get_incs)} {($ VSub_Name '$file')})] ) left_token: <Left_Backtick '`'> spids: [1758 1762] ) } spids: [1757] ) ] spids: [1757] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$ilist'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$TF')} spids: [1780] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$progDep'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Name '$base') (':\t') ($ VSub_Name '$file') (' ') (EscapedLiteralPart token: <Lit_EscapedChar '\\\\'> ) ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(.depend)} spids: [1809] ) ] ) ] spids: [-1 1796] ) ] else_action: [ (SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Name '$base') (.) ($ VSub_Name '$obj') (':\t') ($ VSub_Name '$file') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(.depend)} spids: [1829] ) ] ) ] spids: [1814 1834] ) (SimpleCommand words: [{(echo)} {($ VSub_Name '$N')} {(DQ ('\t') ($ VSub_Name '$C'))}] redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(.depend)} spids:[1846])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:llen) op:Equal rhs:{(8)} spids:[1851])] spids: [1851] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:llen) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(gen_deps)} {($ VSub_Name '$llen')} {($ VSub_Name '$ilist')}) ] ) left_token: <Left_Backtick '`'> spids: [1856 1862] ) } spids: [1855] ) ] spids: [1855] ) (SimpleCommand words: [{(echo)}] redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(.depend)} spids:[1867])] ) (SimpleCommand words: [{(echo)}] redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(.depend)} spids:[1874])] ) ] spids: [-1 1777] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$progDep'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$base') (':\t') ($ VSub_Name '$file'))}] redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(.depend)} spids:[1901])] ) (SimpleCommand words: [{(echo)}] redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(.depend)} spids:[1908])] ) ] spids: [1879 1890] ) ] spids: [-1 1913] ) ] spids: [1629 1915] ) spids: [1626 -1] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-s)} {(.depend)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(mv)} {(.depend)} {($ VSub_Name '$TF')}) (Pipeline children: [ (BraceGroup children: [ (Sentence child: (AndOr children: [ (C {(test)} {(DQ ($ VSub_Name '$BASEDIR'))}) (AndOr children: [ (C {(sed)} {(-e)} { (DQ ('s;') ($ VSub_Name '$BASEDIR') (';') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('(BASEDIR);g') ) } {($ VSub_Name '$TF')} ) (C {(cat)} {($ VSub_Name '$TF')}) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] spids: [1943] ) (SimpleCommand words: [{(sed)} {(SQ <'s;\\([^.]\\)\\./;\\1;g'>)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(.depend)} spids:[1985])] ) ] negated: False ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(x) ($ VSub_Name '$update')} {(KW_Bang '!') (Lit_Other '=')} {(xno)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(trap)} {(DQ )} {(2)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depended) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(grep)} {(SQ <'include.*\\.depend'>)} {($ VSub_Name '$MAKEFILE')} ) ] ) left_token: <Left_Backtick '`'> spids: [2039 2047] ) } spids: [2038] ) ] spids: [2038] ) (AndOr children: [(C {(test)} {(DQ ($ VSub_Name '$depended'))}) (C {(clean_up)})] op_id: Op_DAmp ) (SimpleCommand words: [{(sed)} {(SQ <'/^# DO NOT DELETE.*depend.*$/,$d'>)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {($ VSub_Name '$MAKEFILE')} spids: [2069] ) (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$TF')} spids: [2073] ) ] ) (C {(mv)} {($ VSub_Name '$TF')} {($ VSub_Name '$MAKEFILE')}) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ ('# DO NOT DELETE THIS LINE -- make depend depends on it\n') ('# Do not edit anything below, it was added automagically by ') ($ VSub_Name '$Myname') ('.\n') ('\n') ) } do_expansion: True here_end: '!' was_filled: True spids: [2087] ) (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name '$MAKEFILE')} spids: [2090] ) ] ) (Case to_match: {(DQ ($ VSub_Name '$Include'))} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (SimpleCommand words: [{(cat)} {(.depend)}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name '$MAKEFILE')} spids: [2120] ) ] ) ] spids: [-1 2114 2123 -1] ) (case_arm pat_list: [{(.include)}] action: [ (SimpleCommand words: [{(echo)} {(SQ <'.include ".depend"'>)}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name '$MAKEFILE')} spids: [2135] ) ] ) ] spids: [2126 2127 2138 -1] ) (case_arm pat_list: [{(include)}] action: [ (SimpleCommand words: [{(echo)} {(include)} {(.depend)}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name '$MAKEFILE')} spids: [2150] ) ] ) ] spids: [2141 2142 2153 -1] ) ] spids: [2103 2109 2156] ) ] spids: [-1 2019] ) ] spids: [-1 2159] ) ] spids: [-1 1929] ) ] spids: [-1 2161] ) (C {(clean_up)}) ] )