(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]
    )
  ]
)