(CommandList children: [ (FuncDef name: meta2src body: (BraceGroup children: [ (Pipeline children: [ (C {(cat)} {(/dev/null)} {(DQ ($ VSub_At '$@'))}) (C {(sed)} {(-n)} {(SQ <'/^R .*\\.[chyl]$/s,^..[0-9]* ,,p'>)}) (C {(sort)} {(-u)}) ] negated: F ) ] spids: [312] ) spids: [308 311] ) (FuncDef name: meta2dirs body: (BraceGroup children: [ (Pipeline children: [ (C {(cat)} {(/dev/null)} {(DQ ($ VSub_At '$@'))}) (C {(sed)} {(-n)} {(SQ <'/^R .*\\/.*\\.[a-z0-9][^\\/]*$/s,^..[0-9]* \\(.*\\)/[^/]*$,\\1,p'>)} ) (C {(sort)} {(-u)}) ] negated: F ) ] spids: [349] ) spids: [345 348] ) (FuncDef name: add_list body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:sep) op:Equal rhs:{(SQ <' '>)} spids:[388])] spids: [388] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:suffix) op:Equal rhs:{(EmptyPart)} spids:[394])] spids: [394] ) (While cond: [(C {(Lit_Other ':')})] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(DQ ('|'))}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sep) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [419] ) ] spids: [419] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] spids: [415 417 426 16777215] ) (case_arm pat_list: [{(-s)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:suffix) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [432] ) ] spids: [432] ) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [429 430 441 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [444 445 448 16777215] ) ] spids: [405 411 451] ) ] spids: [402 454] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: {($ VSub_Number '$1')} spids: [457] ) ] spids: [457] ) (C {(shift)}) (C {(eval)} {(Lit_VarLike 'list=') (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$name')) } ) (ForEach iter_name: top iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: F body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$sep') ($ VSub_Name '$list') ($ VSub_Name '$sep'))} arms: [ (case_arm pat_list: [ {(Lit_Other '*') (DQ ($ VSub_Name '$sep') ($ VSub_Name '$top') ($ VSub_Name '$suffix') ($ VSub_Name '$sep') ) (Lit_Other '*') } ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [498 506 509 16777215] ) ] spids: [487 495 512] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:list) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name list> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {($ VSub_Name '$list') ($ VSub_Name '$sep')} ) spids: [517 522] ) ($ VSub_Name '$top') ($ VSub_Name '$suffix') ) } spids: [515] ) ] spids: [515] ) ] spids: [484 528] ) spids: [478 16777215] ) (C {(eval)} { (DQ ($ VSub_Name '$name') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$list') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) ] spids: [385] ) spids: [381 384] ) (FuncDef name: _excludes_f body: (BraceGroup children:[(C {(egrep)} {(-v)} {(DQ ($ VSub_Name '$EXCLUDES'))})] spids:[548]) spids: [544 547] ) (FuncDef name: meta2deps body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:DPDEPS) op:Equal rhs:{(EmptyPart)} spids:[569])] spids: [569] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SRCTOPS) op: Equal rhs: {($ VSub_Name '$SRCTOP')} spids: [572] ) ] spids: [572] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OBJROOTS) op: Equal rhs: {(EmptyPart)} spids: [576] ) ] spids: [576] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXCLUDES) op: Equal rhs: {(EmptyPart)} spids: [579] ) ] spids: [579] ) (While cond: [(C {(Lit_Other ':')})] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(Lit_Other '*') (Lit_Other '=') (Lit_Other '*')}] action: [ (Sentence child: (C {(eval)} {(export)} {(DQ ($ VSub_Number '$1'))}) terminator: <Op_Semi ';'> ) (C {(shift)}) ] spids: [599 602 614 16777215] ) (case_arm pat_list: [{(-a)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MACHINE_ARCH) op: Equal rhs: {($ VSub_Number '$2')} spids: [620] ) ] spids: [620] ) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [617 618 627 16777215] ) (case_arm pat_list: [{(-m)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MACHINE) op: Equal rhs: {($ VSub_Number '$2')} spids: [633] ) ] spids: [633] ) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [630 631 640 16777215] ) (case_arm pat_list: [{(-C)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CURDIR) op: Equal rhs: {($ VSub_Number '$2')} spids: [646] ) ] spids: [646] ) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [643 644 653 16777215] ) (case_arm pat_list: [{(-H)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST_TARGET) op: Equal rhs: {($ VSub_Number '$2')} spids: [659] ) ] spids: [659] ) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [656 657 666 16777215] ) (case_arm pat_list: [{(-S)}] action: [ (Sentence child: (C {(add_list)} {(SRCTOPS)} {($ VSub_Number '$2')}) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [669 670 682 16777215] ) (case_arm pat_list: [{(-O)}] action: [ (Sentence child: (C {(add_list)} {(OBJROOTS)} {($ VSub_Number '$2')}) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [685 686 698 16777215] ) (case_arm pat_list: [{(-X)}] action: [ (Sentence child: (C {(add_list)} {(EXCLUDES)} {(SQ <'|'>)} {($ VSub_Number '$2')}) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [701 702 718 16777215] ) (case_arm pat_list: [{(-R)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RELDIR) op: Equal rhs: {($ VSub_Number '$2')} spids: [724] ) ] spids: [724] ) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [721 722 731 16777215] ) (case_arm pat_list: [{(-T)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TARGET_SPEC) op: Equal rhs: {($ VSub_Number '$2')} spids: [737] ) ] spids: [737] ) terminator: <Op_Semi ';'> ) (C {(shift)} {(2)}) ] spids: [734 735 744 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [747 748 751 16777215] ) ] spids: [590 596 754] ) ] spids: [587 757] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_th) op: Equal rhs: {(EmptyPart)} spids: [761] ) (assign_pair lhs: (LhsName name:_o) op: Equal rhs: {(EmptyPart)} spids: [763] ) ] spids: [761] ) (Case to_match: {(DQ ($ VSub_Name '$MACHINE'))} arms: [ (case_arm pat_list: [{(host)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_ht) op: Equal rhs: {($ VSub_Name '$HOST_TARGET')} spids: [778] ) ] spids: [778] ) ] spids: [775 776 780 16777215] ) ] spids: [766 772 783] ) (ForEach iter_name: o iter_words: [{($ VSub_Name '$OBJROOTS')}] do_arg_iter: F body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$MACHINE') (',/') ($ VSub_Name '$o') (/))} arms: [ (case_arm pat_list: [ {(host) (Lit_Comma ',') (Lit_Other '*') ($ VSub_Name '$HOST_TARGET') (Lit_Other '*') } ] spids: [812 817 819 16777215] ) (case_arm pat_list: [ {(Lit_Other '*') ($ VSub_Name '$MACHINE') (Lit_Other '*')} {(Lit_Other '*') (BracedVarSub token: <VSub_Name TARGET_SPEC> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$MACHINE')} ) spids: [827 831] ) (Lit_Other '*') } ] spids: [822 833 835 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Sentence child: (C {(add_list)} {(_o)} {($ VSub_Name '$o')}) terminator: <Op_Semi ';'> ) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [838 839 849 16777215] ) ] spids: [800 809 852] ) (ForEach iter_name: x iter_words: [ {($ VSub_Name '$_ht')} {($ VSub_Name '$TARGET_SPEC')} {($ VSub_Name '$MACHINE')} ] do_arg_iter: F body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$o'))} arms: [ (case_arm pat_list: [{(DQ )}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [16777215 882 885 16777215] ) (case_arm pat_list: [{(Lit_Other '*') (/) ($ VSub_Name '$x') (/)}] action: [ (Sentence child: (C {(add_list)} {(_o)} { (BracedVarSub token: <VSub_Name o> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {($ VSub_Name '$x') (Lit_Slash /)} ) spids: [898 903] ) } ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:o) op: Equal rhs: {(EmptyPart)} spids: [906] ) ] spids: [906] ) ] spids: [888 892 907 16777215] ) (case_arm pat_list: [{(Lit_Other '*') (/) ($ VSub_Name '$x')}] action: [ (Sentence child: (C {(add_list)} {(_o)} { (BracedVarSub token: <VSub_Name o> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {($ VSub_Name '$x')} ) spids: [919 923] ) } ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:o) op: Equal rhs: {(EmptyPart)} spids: [926] ) ] spids: [926] ) ] spids: [910 913 927 16777215] ) (case_arm pat_list: [{(Lit_Other '*') ($ VSub_Name '$x') (/)}] action: [ (Sentence child: (C {(add_list)} {(_o)} { (BracedVarSub token: <VSub_Name o> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {($ VSub_Name '$x') (Lit_Slash /)} ) spids: [939 944] ) } ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:o) op: Equal rhs: {(EmptyPart)} spids: [947] ) ] spids: [947] ) ] spids: [930 933 948 16777215] ) (case_arm pat_list: [{(Lit_Other '*') ($ VSub_Name '$x')}] action: [ (Sentence child: (C {(add_list)} {(_o)} { (BracedVarSub token: <VSub_Name o> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {($ VSub_Name '$x')} ) spids: [959 963] ) } ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:o) op: Equal rhs: {(EmptyPart)} spids: [966] ) ] spids: [966] ) ] spids: [951 953 967 16777215] ) ] spids: [871 877 970] ) ] spids: [868 973] ) spids: [860 16777215] ) ] spids: [797 976] ) spids: [793 16777215] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OBJROOTS) op: Equal rhs: {(DQ ($ VSub_Name '$_o'))} spids: [979] ) ] spids: [979] ) (Case to_match: {(DQ ($ VSub_Name '$OBJTOP'))} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (ForEach iter_name: o iter_words: [{($ VSub_Name '$OBJROOTS')}] do_arg_iter: F body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OBJTOP) op: Equal rhs: {($ VSub_Name '$o') (BracedVarSub token: <VSub_Name TARGET_SPEC> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$MACHINE')} ) spids: [1014 1018] ) } spids: [1012] ) ] spids: [1012] ) (ControlFlow token:<ControlFlow_Break break>) ] spids: [1009 1024] ) spids: [1005 16777215] ) ] spids: [16777215 997 1027 16777215] ) ] spids: [986 992 1030] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:src_re) op:Equal rhs:{(EmptyPart)} spids:[1033])] spids: [1033] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:obj_re) op:Equal rhs:{(EmptyPart)} spids:[1036])] spids: [1036] ) (C {(add_list)} {(SQ <'|'>)} {(-s)} {(SQ <'/*'>)} {(src_re)} {($ VSub_Name '$SRCTOPS')}) (C {(add_list)} {(SQ <'|'>)} {(-s)} {(SQ <'*'>)} {(obj_re)} {($ VSub_Name '$OBJROOTS')}) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$RELDIR'))} {(Lit_Other ']')}) (C {(unset)} {(DPDEPS)}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tf) op: Equal rhs: {(/tmp/m2d) ($ VSub_Dollar '$$') (-) ($ VSub_Name '$USER')} spids: [1092] ) ] spids: [1092] ) (C {(rm)} {(-f)} {($ VSub_Name '$tf') (.) (Lit_Other '*')}) (C {(trap)} {(SQ <'rm -f $tf.*; trap 0'>)} {(0)}) (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$tf') (.dirdep)} spids: [1118] ) ] ) (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$tf') (.qual)} spids: [1124] ) ] ) (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$tf') (.srcdep)} spids: [1130] ) ] ) (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$tf') (.srcrel)} spids: [1136] ) ] ) (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$tf') (.dpdeps)} spids: [1142] ) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:seenit) op:Equal rhs:{(EmptyPart)} spids:[1149])] spids: [1149] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:seensrc) op: Equal rhs: {(EmptyPart)} spids: [1152] ) ] spids: [1152] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:lpid) op:Equal rhs:{(EmptyPart)} spids:[1155])] spids: [1155] ) (Case to_match: {(DQ ($ VSub_Name '$EXCLUDES'))} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_excludes) op: Equal rhs: {(cat)} spids: [1171] ) ] spids: [1171] ) ] spids: [16777215 1169 1173 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_excludes) op: Equal rhs: {(_excludes_f)} spids: [1179] ) ] spids: [1179] ) ] spids: [1176 1177 1181 16777215] ) ] spids: [1158 1164 1184] ) (Pipeline children: [ (Case to_match: {(DQ ($ VSub_At '$@'))} arms: [ (case_arm pat_list: [ {(Lit_Other '*') (Lit_Other '@') (Lit_Other '[') (KW_Bang '!') (.) (Lit_Other ']') (Lit_Other '*') } ] action: [ (ForEach iter_name: f iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: F body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$f'))} arms: [ (case_arm pat_list: [{(Lit_Other '*') (.meta)}] action: [(C {(cat)} {($ VSub_Name '$f')})] spids: [1233 1235 1240 16777215] ) (case_arm pat_list: [{(Lit_Other '@') (Lit_Other '*')}] action: [ (SimpleCommand words: [{(xargs)} {(cat)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: { (BracedVarSub token: <VSub_Name f> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('@')} ) spids: [1253 1257] ) } spids: [1251] ) ] ) ] spids: [1243 1245 1258 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(cat)} {($ VSub_Name '$f')})] spids: [1261 1262 1267 16777215] ) ] spids: [1224 1230 1270] ) ] spids: [1221 1273] ) spids: [1215 16777215] ) ] spids: [1200 1207 1276 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(cat)} {(/dev/null)} {(DQ ($ VSub_At '$@'))})] spids: [1279 1280 1289 16777215] ) ] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[1294])] spids: [1191 1197 1292] ) (C {(sed)} {(-e)} {(SQ <'s,^CWD,C C,;/^[CREFLM] /!d'>)} {(-e)} {(DQ ("s,',,g"))}) (C {($ VSub_Name '$_excludes')}) (While cond: [(C {(read)} {(op)} {(pid)} {(path)} {(junk)})] body: (DoGroup children: [ (C {(Lit_Other ':')} {(Lit_VarLike 'op=') ($ VSub_Name '$op')} {(Lit_VarLike 'pid=') ($ VSub_Name '$pid')} {(Lit_VarLike 'path=') ($ VSub_Name '$path')} ) (Case to_match: {(DQ ($ VSub_Name '$lpid') (',') ($ VSub_Name '$pid'))} arms: [ (case_arm pat_list: [{(Lit_Comma ',') (C)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CWD) op: Equal rhs: {($ VSub_Name '$path')} spids: [1374] ) (assign_pair lhs: (LhsName name:cwd) op: Equal rhs: {($ VSub_Name '$path')} spids: [1377] ) (assign_pair lhs: (LhsName name:ldir) op: Equal rhs: {($ VSub_Name '$path')} spids: [1380] ) ] spids: [1374] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$SB'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SB) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name '$CWD')}) (C {(sed)} {(SQ <'s,/obj.*,,'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [1401 1413] ) } spids: [1400] ) ] spids: [1400] ) ] spids: [16777215 1397] ) ] spids: [16777215 1416] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SRCTOP) op: Equal rhs: { (BracedVarSub token: <VSub_Name SRCTOP> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$SB') (Lit_Slash /) (src)} ) spids: [1420 1426] ) } spids: [1419] ) ] spids: [1419] ) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [1370 1372 1432 16777215] ) (case_arm pat_list: [{($ VSub_Name '$pid') (Lit_Comma ',') ($ VSub_Name '$pid')}] spids: [1435 1438 1440 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Case to_match: {(DQ ($ VSub_Name '$lpid'))} arms: [ (case_arm pat_list: [{(DQ )}] spids: [16777215 1458 1460 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(eval)} {(ldir_) ($ VSub_Name '$lpid') (Lit_Other '=') ($ VSub_Name '$ldir') } {(cwd_) ($ VSub_Name '$lpid') (Lit_Other '=') ($ VSub_Name '$cwd')} ) ] spids: [1463 1464 1477 16777215] ) ] spids: [1447 1453 1480] ) (C {(eval)} {(Lit_VarLike 'ldir=') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (Lit_LBrace '{') (ldir_) ($ VSub_Name '$pid') (Lit_Other ':') (-) ($ VSub_Name '$CWD') (Lit_RBrace '}') } {(Lit_VarLike 'cwd=') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (Lit_LBrace '{') (cwd_) ($ VSub_Name '$pid') (Lit_Other ':') (-) ($ VSub_Name '$CWD') (Lit_RBrace '}') } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lpid) op: Equal rhs: {($ VSub_Name '$pid')} spids: [1506] ) ] spids: [1506] ) ] spids: [1443 1444 1510 16777215] ) ] spids: [1359 1367 1513] ) (Case to_match: {(DQ ($ VSub_Name '$op') (',') ($ VSub_Name '$path'))} arms: [ (case_arm pat_list: [ {(W) (Lit_Comma ',') (Lit_Other '*') (srcrel)} {(Lit_Other '*') (.dirdep)} ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [1528 1535 1538 16777215] ) (case_arm pat_list: [{(C) (Lit_Comma ',') (Lit_Other '*')}] action: [ (Case to_match: {(DQ ($ VSub_Name '$path'))} arms: [ (case_arm pat_list: [{(/) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cwd) op: Equal rhs: {($ VSub_Name '$path')} spids: [1560] ) ] spids: [1560] ) ] spids: [1556 1558 1562 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cwd) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [ {(cd)} {($ VSub_Name '$cwd') (/) ($ VSub_Name '$path') } ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1576] ) ] ) (C {(/bin/pwd)}) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1569 1583] ) } spids: [1568] ) ] spids: [1568] ) ] spids: [1565 1566 1584 16777215] ) ] spids: [1547 1553 1587] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-d)} { (BracedVarSub token: <VSub_Name cwd> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(Lit_Slash /) (dev) (Lit_Slash /) (null) (Lit_Slash /) (no) (Lit_Slash /) (such) } ) spids: [1598 1609] ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cwd) op: Equal rhs: {($ VSub_Name '$CWD')} spids: [1613] ) ] spids: [1613] ) ] ) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [1541 1544 1620 16777215] ) (case_arm pat_list: [{(F) (Lit_Comma ',') (Lit_Other '*')}] action: [ (C {(eval)} {(cwd_) ($ VSub_Name '$path') (Lit_Other '=') ($ VSub_Name '$cwd')} {(ldir_) ($ VSub_Name '$path') (Lit_Other '=') ($ VSub_Name '$ldir')} ) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [1623 1626 1644 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dir) op: Equal rhs: { (BracedVarSub token: <VSub_Name path> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [1652 1657] ) } spids: [1651] ) ] spids: [1651] ) (Case to_match: {(DQ ($ VSub_Name '$path'))} arms: [ (case_arm pat_list: [{($ VSub_Name '$src_re')} {($ VSub_Name '$obj_re')}] spids: [1669 1672 1674 16777215] ) (case_arm pat_list: [{(/) (Lit_Other '*') (/stage/) (Lit_Other '*')}] spids: [1677 1681 1683 16777215] ) (case_arm pat_list: [{(/) (Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [1686 1688 1691 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (ForEach iter_name: path iter_words: [ {($ VSub_Name '$ldir') (/) ($ VSub_Name '$path')} {($ VSub_Name '$cwd') (/) ($ VSub_Name '$path')} ] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-e)} {($ VSub_Name '$path')}) (ControlFlow token: <ControlFlow_Break break> ) ] ) ] spids: [1712 1726] ) spids: [1702 16777215] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dir) op: Equal rhs: { (BracedVarSub token: <VSub_Name path> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [1730 1735] ) } spids: [1729] ) ] spids: [1729] ) ] spids: [1694 1695 1738 16777215] ) ] spids: [1660 1666 1741] ) ] spids: [1648 1649 1744 16777215] ) ] spids: [1517 1525 1747] ) (Case to_match: {(DQ ($ VSub_Name '$DPDEPS') (',') ($ VSub_Name '$seensrc') (','))} arms: [ (case_arm pat_list: [{(Lit_Comma ',') (Lit_Other '*')}] action: [ (Case to_match: {(DQ (',') ($ VSub_Name '$seenit') (','))} arms: [ (case_arm pat_list: [ {(Lit_Other '*') (Lit_Comma ',') ($ VSub_Name '$dir') (Lit_Comma ',') (Lit_Other '*') } ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [1782 1787 1790 16777215] ) ] spids: [1771 1779 1793] ) ] spids: [1766 1768 1796 16777215] ) (case_arm pat_list: [ {(Lit_Other '*') (Lit_Comma ',') ($ VSub_Name '$path') (Lit_Comma ',') (Lit_Other '*') } ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [1799 1804 1807 16777215] ) ] spids: [1754 1763 1810] ) (Case to_match: {(DQ (/) ($ VSub_Name '$dir') (/))} arms: [ (case_arm pat_list: [ {(Lit_Other '*') (/../) (Lit_Other '*')} {(Lit_Other '*') (/./) (Lit_Other '*')} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rdir) op: Equal rhs: {($ VSub_Name '$dir')} spids: [1838] ) ] spids: [1838] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dir) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(cd)} {($ VSub_Name '$dir')}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1848] ) ] ) (C {(/bin/pwd)}) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1843 1855] ) } spids: [1842] ) ] spids: [1842] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:seen) op: Equal rhs: {(DQ ($ VSub_Name '$rdir') (',') ($ VSub_Name '$dir'))} spids: [1858] ) ] spids: [1858] ) ] spids: [1828 1835 1866 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:seen) op: Equal rhs: {($ VSub_Name '$dir')} spids: [1872] ) ] spids: [1872] ) ] spids: [1869 1870 1874 16777215] ) ] spids: [1817 1825 1877] ) (Case to_match: {(DQ ($ VSub_Name '$dir'))} arms: [ (case_arm pat_list: [ { (BracedVarSub token: <VSub_Name CURDIR> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(.)}) spids: [1889 1893] ) } {(DQ )} ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [1889 1897 1900 16777215] ) (case_arm pat_list: [{($ VSub_Name '$src_re')}] action: [ (Case to_match: { (DQ ($ VSub_Name '$DPDEPS') (',') ($ VSub_Name '$seensrc') (',')) } arms: [ (case_arm pat_list: [{(Lit_Comma ',') (Lit_Other '*')}] action: [ (Case to_match: {(DQ (',') ($ VSub_Name '$seenit') (','))} arms: [ (case_arm pat_list: [ {(Lit_Other '*') (Lit_Comma ',') ($ VSub_Name '$dir') (Lit_Comma ',') (Lit_Other '*') } ] action: [ (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [1939 1944 1947 16777215] ) ] spids: [1928 1936 1950] ) ] spids: [1923 1925 1953 16777215] ) ] spids: [1911 1920 1956] ) ] spids: [1903 1904 1959 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Case to_match: {(DQ (',') ($ VSub_Name '$seenit') (','))} arms: [ (case_arm pat_list: [ {(Lit_Other '*') (Lit_Comma ',') ($ VSub_Name '$dir') (Lit_Comma ',') (Lit_Other '*') } ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [1977 1982 1985 16777215] ) ] spids: [1966 1974 1988] ) ] spids: [1962 1963 1991 16777215] ) ] spids: [1880 1886 1994] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-d)} {($ VSub_Name '$path')} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Case to_match: {(DQ ($ VSub_Name '$path'))} arms: [ (case_arm pat_list: [{(Lit_Other '*') (/..)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ldir) op: Equal rhs: { (BracedVarSub token: <VSub_Name dir> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [2025 2030] ) } spids: [2024] ) ] spids: [2024] ) ] spids: [2020 2022 2031 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ldir) op: Equal rhs: {($ VSub_Name '$path')} spids: [2037] ) ] spids: [2037] ) ] spids: [2034 2035 2039 16777215] ) ] spids: [2011 2017 2042] ) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [16777215 2008] ) ] spids: [16777215 2048] ) (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-f)} {($ VSub_Name '$path')} {(Lit_Other ']')}) (ControlFlow token: <ControlFlow_Continue continue> ) ] ) (Case to_match: {(DQ ($ VSub_Name '$dir'))} arms: [ (case_arm pat_list: [{($ VSub_Name '$CWD')}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [2073 2074 2077 16777215] ) (case_arm pat_list: [{($ VSub_Name '$src_re')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:seenit) op: Equal rhs: {(DQ ($ VSub_Name '$seenit') (',') ($ VSub_Name '$seen'))} spids: [2087] ) ] spids: [2087] ) (SimpleCommand words: [{(echo)} {($ VSub_Name '$dir')}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$tf') (.srcdep)} spids: [2099] ) ] ) (Case to_match: { (DQ ($ VSub_Name '$DPDEPS') (',') ($ VSub_Name '$reldir') (',') ($ VSub_Name '$seensrc') (',') ) } arms: [ (case_arm pat_list: [{(Lit_Comma ',') (Lit_Other '*')}] spids: [2119 2121 2123 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:seensrc) op: Equal rhs: { (DQ ($ VSub_Name '$seensrc') (',') ($ VSub_Name '$path') ) } spids: [2129] ) ] spids: [2129] ) (SimpleCommand words: [ {(echo)} { (DQ (DPDEPS_) ($ VSub_Name '$dir') (/) (BracedVarSub token: <VSub_Name path> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [2143 2148] ) (' += ') ($ VSub_Name '$RELDIR') ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$tf') (.dpdeps)} spids: [2153] ) ] ) ] spids: [2126 2127 2159 16777215] ) ] spids: [2105 2116 2162] ) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [2083 2084 2168 16777215] ) ] spids: [2064 2070 2171] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-s)} {($ VSub_Name '$path') (.dirdep)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {($ VSub_Name '$path') (.dirdep)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$tf') (.qual)} spids: [2210] ) ] ) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [16777215 2194] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-s)} {($ VSub_Name '$dir') (.dirdep)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {($ VSub_Name '$dir') (.dirdep)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$tf') (.qual)} spids: [2239] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:seenit) op: Equal rhs: {(DQ ($ VSub_Name '$seenit') (',') ($ VSub_Name '$seen'))} spids: [2245] ) ] spids: [2245] ) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [2219 2231] ) ] spids: [16777215 2256] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:seenit) op: Equal rhs: {(DQ ($ VSub_Name '$seenit') (',') ($ VSub_Name '$seen'))} spids: [2259] ) ] spids: [2259] ) (Case to_match: {(DQ ($ VSub_Name '$dir'))} arms: [ (case_arm pat_list: [{($ VSub_Name '$obj_re')}] action: [(C {(echo)} {($ VSub_Name '$dir')})] spids: [2276 2277 2283 16777215] ) ] spids: [2267 2273 2286] ) ] spids: [1336 2289] ) redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$tf') (.dirdep)} spids: [2291] ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_nl) op:Equal rhs:{(echo)} spids:[2297])] spids: [2297] ) (ForEach iter_name: f iter_words: [ {($ VSub_Name '$tf') (.dirdep)} {($ VSub_Name '$tf') (.qual)} {($ VSub_Name '$tf') (.srcdep)} ] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-s)} {($ VSub_Name '$f')} {(Lit_Other ']')}) (ControlFlow token:<ControlFlow_Continue continue>) ] ) (Case to_match: {($ VSub_Name '$f')} arms: [ (case_arm pat_list: [{(Lit_Other '*') (qual)}] action: [ (Pipeline children: [ (SimpleCommand words: [{(xargs)} {(cat)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {($ VSub_Name '$f')} spids: [2372] ) ] ) (C {(sort)} {(-u)}) (C {(sed)} { (DQ ('s,^# ,,;s,^,') ($ VSub_Name '$OBJTOP') ('/,;s,') (Lit_Other '\\') (.) (BracedVarSub token: <VSub_Name TARGET_SPEC> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$MACHINE')} ) spids: [2393 2397] ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (',,;s,') (Lit_Other '\\') (.) ($ VSub_Name '$MACHINE') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (',,') ) } ) ] negated: F ) ] spids: [2340 2342 2408 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(sort)} {(-u)} {($ VSub_Name '$f')})] spids: [2411 2412 2419 16777215] ) ] spids: [2333 2337 2422] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_nl) op: Equal rhs: {(Lit_Other ':')} spids: [2425] ) ] spids: [2425] ) ] spids: [2317 2429] ) spids: [2306 16777215] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-s)} {($ VSub_Name '$tf') (.dpdeps)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Case to_match: {(DQ ($ VSub_Name '$DPDEPS'))} arms: [ (case_arm pat_list: [{(Lit_Other '*') (/) (Lit_Other '*')}] spids: [2456 2459 2461 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [{(echo)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$DPDEPS')} spids: [2469] ) ] ) ] spids: [2464 2465 2472 16777215] ) ] spids: [2447 2453 2478] ) (Pipeline children: [ (C {(sort)} {(-u)} {($ VSub_Name '$tf') (.dpdeps)}) (SimpleCommand words: [ {(sed)} { (DQ ('s,') (${ VSub_Name SRCTOP) ('/,,;s,') (BracedVarSub token: <VSub_Name SB_BACKING_SB> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$SB')} ) spids: [2499 2503] ) ('/src/,,') ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$DPDEPS')} spids: [2507] ) ] ) ] negated: F ) ] spids: [16777215 2444] ) ] spids: [16777215 2512] ) (C {($ VSub_Name '$_nl')}) ] spids: [566] ) spids: [562 565] ) (Case to_match: {(/) ($ VSub_Number '$0')} arms: [ (case_arm pat_list: [{(Lit_Other '*') (/meta2dep) (Lit_Other '*')}] action: [(C {(meta2deps)} {(DQ ($ VSub_At '$@'))})] spids: [2531 2534 2541 16777215] ) (case_arm pat_list: [{(Lit_Other '*') (/meta2dirs) (Lit_Other '*')}] action: [(C {(meta2dirs)} {(DQ ($ VSub_At '$@'))})] spids: [2543 2546 2553 16777215] ) (case_arm pat_list: [{(Lit_Other '*') (/meta2src) (Lit_Other '*')}] action: [(C {(meta2src)} {(DQ ($ VSub_At '$@'))})] spids: [2555 2558 2565 16777215] ) ] spids: [2524 2529 2567] ) ] )