(command.CommandList
  children: [
    (C {<set>} {<-e>})
    (C {<.>} {<'/etc/make.conf'>})
    (command.Simple
      words: [{<exec>}]
      redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<Makefile>})]
      do_fork: T
    )
    (command.Simple
      words: [{<exec>}]
      redirects: [(redir op:<Id.Redir_Great '3>'> loc:(redir_loc.Fd fd:3) arg:{<Makedepend-ack>})]
      do_fork: T
    )
    (command.Simple
      words: [{<exec>}]
      redirects: [(redir op:<Id.Redir_Great '4>'> loc:(redir_loc.Fd fd:4) arg:{<Makedepend-gnu>})]
      do_fork: T
    )
    (C {<touch>} {<.depend-ack>})
    (C {<touch>} {<.depend-gnu>})
    (C {<echo>} {(DQ <'#Generated from '> ($ Id.VSub_Number '$1') <'/Makefile.in'>)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ACKBASE)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$2')}
          spids: [50]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GNUBASE)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$3')}
          spids: [53]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:OBJDIR)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$1')}
          spids: [56]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:RECURSIVE_TARGETS)
          op: assign_op.Equal
          rhs: {(DQ <'clean depend depend-ack depend-gnu'>)}
          spids: [60]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-z>} {($ Id.VSub_DollarName '$ACKBASE')} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.Sentence
              child: (C {<echo>} {<ACKBASE>} {<is>} {<not>} {<set> <Id.KW_Bang '!'>})
              terminator: <Id.Op_Semi _>
            )
            (command.Sentence
              child: (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [66 77]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-z>} {($ Id.VSub_DollarName '$GNUBASE')} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.Sentence
              child: (C {<echo>} {<GNUBASE>} {<is>} {<not>} {<set> <Id.KW_Bang '!'>})
              terminator: <Id.Op_Semi _>
            )
            (command.Sentence
              child: (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [98 109]
        )
      ]
    )
    (C {<.>} {<Makefile.in>})
    (C {<echo>} {(DQ <'all: all-ack'>)})
    (C {<echo>})
    (C {<echo>} {(DQ <'all-ack:'>)})
    (C {<echo>} {(DQ <'all-gnu:'>)})
    (C {<echo>})
    (C {<echo>} {(DQ <'makefiles: Makefile'>)})
    (C {<echo>} {(DQ <'Makedepend-ack Makedepend-gnu: '>)})
    (C {<echo>} 
      {
        (DQ <'\tsh '> ($ Id.VSub_Number '$0') <' '> ($ Id.VSub_DollarName '$OBJDIR') <' '> 
          ($ Id.VSub_DollarName '$ACKBASE') <' '> ($ Id.VSub_DollarName '$GNUBASE')
        )
      }
    )
    (C {<echo>})
    (C {<echo>} {(DQ <'Makefile: Makefile.in Makedepend-ack Makedepend-gnu'>)})
    (C {<echo>} 
      {
        (DQ <'\tsh '> ($ Id.VSub_Number '$0') <' '> ($ Id.VSub_DollarName '$OBJDIR') <' '> 
          ($ Id.VSub_DollarName '$ACKBASE') <' '> ($ Id.VSub_DollarName '$GNUBASE')
        )
      }
    )
    (C {<echo>} {(DQ <'\t@echo'>)})
    (C {<echo>} {(DQ <'\t@echo *Attention*'>)})
    (C {<echo>} {(DQ <'\t@echo Makefile is regenerated... rerun command to see changes'>)})
    (C {<echo>} {(DQ <'\t@echo *Attention*'>)})
    (C {<echo>} {(DQ <'\t@echo'>)})
    (C {<echo>})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} 
                      {(DQ ($ Id.VSub_DollarName '$SUBDIRS'))} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'all-ack: makefiles'>)})
            (command.ForEach
              iter_name: dir
              iter_words: [{($ Id.VSub_DollarName '$SUBDIRS')}]
              do_arg_iter: F
              body: 
                (BraceGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$TYPE')} 
                                      {<Id.Lit_Equals '='>} {(DQ <both>)} {<-o>} {($ Id.VSub_DollarName '$TYPE')} {<Id.Lit_Equals '='>} {(DQ <ack>)} 
                                      {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<echo>} 
                              {
                                (DQ <'\tmkdir -p '> ($ Id.VSub_DollarName '$ACKBASE') <'/'> 
                                  ($ Id.VSub_DollarName '$OBJDIR') <'/'> ($ Id.VSub_DollarName '$dir')
                                )
                              }
                            )
                          ]
                          spids: [280 305]
                        )
                      ]
                    )
                    (C {<echo>} 
                      {
                        (DQ <'\tcd '> ($ Id.VSub_DollarName '$dir') <' && '> 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\$'>
                          ) <'(MAKE) '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'@'>
                        )
                      }
                    )
                  ]
                )
            )
            (C {<echo>})
            (C {<echo>} {(DQ <'all-gnu: makefiles'>)})
            (command.ForEach
              iter_name: dir
              iter_words: [{($ Id.VSub_DollarName '$SUBDIRS')}]
              do_arg_iter: F
              body: 
                (BraceGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$TYPE')} 
                                      {<Id.Lit_Equals '='>} {(DQ <both>)} {<-o>} {($ Id.VSub_DollarName '$TYPE')} {<Id.Lit_Equals '='>} {(DQ <gnu>)} 
                                      {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<echo>} 
                              {
                                (DQ <'\tmkdir -p '> ($ Id.VSub_DollarName '$GNUBASE') <'/'> 
                                  ($ Id.VSub_DollarName '$OBJDIR') <'/'> ($ Id.VSub_DollarName '$dir')
                                )
                              }
                            )
                          ]
                          spids: [361 386]
                        )
                      ]
                    )
                    (C {<echo>} 
                      {
                        (DQ <'\tcd '> ($ Id.VSub_DollarName '$dir') <' && '> 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\$'>
                          ) <'(MAKE) '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'@'>
                        )
                      }
                    )
                  ]
                )
            )
            (C {<echo>})
            (C {<echo>} {(DQ ($ Id.VSub_DollarName '$RECURSIVE_TARGETS') <':: makefiles'>)})
            (command.ForEach
              iter_name: dir
              iter_words: [{($ Id.VSub_DollarName '$SUBDIRS')}]
              do_arg_iter: F
              body: 
                (BraceGroup
                  children: [
                    (C {<echo>} 
                      {
                        (DQ <'\tcd '> ($ Id.VSub_DollarName '$dir') <' && '> 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\$'>
                          ) <'(MAKE) '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'@'>
                        )
                      }
                    )
                  ]
                )
            )
            (C {<echo>})
            (command.ForEach
              iter_name: dir
              iter_words: [{($ Id.VSub_DollarName '$SUBDIRS')}]
              do_arg_iter: F
              body: 
                (BraceGroup
                  children: [
                    (C {<echo>} {(DQ <'makefiles: '> ($ Id.VSub_DollarName '$dir') <'/Makefile'>)})
                  ]
                )
            )
            (C {<echo>})
            (command.ForEach
              iter_name: dir
              iter_words: [{($ Id.VSub_DollarName '$SUBDIRS')}]
              do_arg_iter: F
              body: 
                (BraceGroup
                  children: [
                    (C {<echo>} 
                      {
                        (DQ ($ Id.VSub_DollarName '$dir') <'/Makefile: '> ($ Id.VSub_DollarName '$dir') 
                          <'/Makefile.in'>
                        )
                      }
                    )
                    (C {<echo>} 
                      {
                        (DQ <'\tcd '> ($ Id.VSub_DollarName '$dir') <' && sh ../'> 
                          ($ Id.VSub_Number '$0') <' '> ($ Id.VSub_DollarName '$OBJDIR') <'/'> ($ Id.VSub_DollarName '$dir') <' ../'> 
                          ($ Id.VSub_DollarName '$ACKBASE') <' ../'> ($ Id.VSub_DollarName '$GNUBASE') <' && '> 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\$'>
                          ) <'(MAKE) makefiles'>
                        )
                      }
                    )
                  ]
                )
            )
          ]
          spids: [243 258]
        )
      ]
      else_action: [
        (C {<echo>} {(DQ <'depend: depend-ack'>)})
        (command.Simple
          words: [{<echo>} {(DQ <'depend-ack:'>)}]
          redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<3>})]
          do_fork: T
        )
        (command.Simple
          words: [{<echo>} {(DQ <'\trm .depend-ack'>)}]
          redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<3>})]
          do_fork: T
        )
        (command.Simple
          words: [{<echo>} {(DQ <'\ttouch .depend-ack'>)}]
          redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<3>})]
          do_fork: T
        )
        (command.Simple
          words: [{<echo>} {(DQ <'depend-gnu:'>)}]
          redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<4>})]
          do_fork: T
        )
        (command.Simple
          words: [{<echo>} {(DQ <'\trm .depend-gnu'>)}]
          redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<4>})]
          do_fork: T
        )
        (command.Simple
          words: [{<echo>} {(DQ <'\ttouch .depend-gnu'>)}]
          redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<4>})]
          do_fork: T
        )
        (command.ShFunction
          name: ackCommands
          body: 
            (BraceGroup
              children: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:dstfile)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_Number '$1')}
                      spids: [635]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:srcfile)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_Number '$2')}
                      spids: [639]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:dstdir)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: <Id.Left_Backtick '`'>
                            child: (C {<dirname>} {($ Id.VSub_DollarName '$dstfile')})
                          )
                        }
                      spids: [643]
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$srcfile')}
                  arms: [
                    (case_arm
                      pat_list: [
                        {<Id.Lit_Star '*'> <.s>}
                        {<Id.Lit_Star '*'> <.c>}
                        {<Id.Lit_Star '*'> <.e>}
                      ]
                      action: [
                        (C {<echo>} 
                          {
                            (DQ <'\tcc '> ($ Id.VSub_DollarName '$CFLAGS') <' -c -o '> 
                              ($ Id.VSub_DollarName '$dstfile') <' '> ($ Id.VSub_DollarName '$srcfile')
                            )
                          }
                        )
                        (command.Simple
                          words: [
                            {<echo>}
                            {
                              (DQ <'\tmkdep \'cc '> ($ Id.VSub_DollarName '$CFLAGS') <' -E\' '> 
                                ($ Id.VSub_DollarName '$srcfile') <' | sed -e \'s:^'> <Id.Lit_BadBackslash '\\'> <'(.'> <Id.Lit_BadBackslash '\\'> <'):'> 
                                ($ Id.VSub_DollarName '$dstdir') <'/'> <Id.Lit_BadBackslash '\\'> <'1:\' >> .depend-ack'>
                              )
                            }
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_GreatAnd '>&'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<3>}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      spids: [662 675 714 -1]
                    )
                    (case_arm
                      pat_list: [{<Id.Lit_Star '*'> <.mod>}]
                      action: [
                        (C {<echo>} 
                          {
                            (DQ <'\tm2 '> ($ Id.VSub_DollarName '$M2FLAGS') <' -c -o '> 
                              ($ Id.VSub_DollarName '$dstfile') <' '> ($ Id.VSub_DollarName '$srcfile')
                            )
                          }
                        )
                        (command.Simple
                          words: [
                            {<echo>}
                            {
                              (DQ <'\tmkdep \'m2 '> ($ Id.VSub_DollarName '$M2FLAGS') <' -E\' '> 
                                ($ Id.VSub_DollarName '$srcfile') <' | sed -e \'s:^'> <Id.Lit_BadBackslash '\\'> <'(.'> <Id.Lit_BadBackslash '\\'> <'):'> 
                                ($ Id.VSub_DollarName '$dstdir') <'/'> <Id.Lit_BadBackslash '\\'> <'1:\' >> .depend-ack'>
                              )
                            }
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_GreatAnd '>&'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<3>}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      spids: [717 720 759 -1]
                    )
                    (case_arm
                      pat_list: [{<Id.Lit_Star '*'> <.fc>}]
                      action: [
                        (C {<echo>} 
                          {
                            (DQ <'\tsh ./FP.compile '> ($ Id.VSub_DollarName '$dstfile') <' '> 
                              ($ Id.VSub_DollarName '$srcfile')
                            )
                          }
                        )
                        (command.Simple
                          words: [
                            {<echo>}
                            {
                              (DQ <'\tmkdep \'cc -E\' '> ($ Id.VSub_DollarName '$srcfile') 
                                <' | sed -e \'s:^'> <Id.Lit_BadBackslash '\\'> <'(.'> <Id.Lit_BadBackslash '\\'> <'):'> ($ Id.VSub_DollarName '$dstdir') <'/'> 
                                <Id.Lit_BadBackslash '\\'> <'1:\' >> .depend-ack'>
                              )
                            }
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_GreatAnd '>&'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<3>}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      spids: [762 765 800 -1]
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: gnuCommands
          body: 
            (BraceGroup
              children: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:dstfile)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_Number '$1')}
                      spids: [815]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:srcfile)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_Number '$2')}
                      spids: [819]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:dstdir)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: <Id.Left_Backtick '`'>
                            child: (C {<dirname>} {($ Id.VSub_DollarName '$dstfile')})
                          )
                        }
                      spids: [823]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:sedcmd)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ <'sed -e \'/<built-in>/d\' -e \'/<command line>/d\' -e \'s:^'> 
                            <Id.Lit_BadBackslash '\\'> <'(.'> <Id.Lit_BadBackslash '\\'> <'):'> ($ Id.VSub_DollarName '$dstdir') <'/'> <Id.Lit_BadBackslash '\\'> 
                            <'1:\''>
                          )
                        }
                      spids: [833]
                    )
                  ]
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$srcfile')}
                  arms: [
                    (case_arm
                      pat_list: [{<Id.Lit_Star '*'> <.s>}]
                      action: [
                        (C {<echo>} 
                          {
                            (DQ <'\tgcc '> ($ Id.VSub_DollarName '$CFLAGS') 
                              <' -E -x assembler-with-cpp -I. '> ($ Id.VSub_DollarName '$srcfile') <' | asmconv -mi386 ack gnu > '> ($ Id.VSub_DollarName '$GNUBASE') 
                              <'/'> ($ Id.VSub_DollarName '$OBJDIR') <'/'> ($ Id.VSub_DollarName '$srcfile') <.gnu>
                            )
                          }
                        )
                        (C {<echo>} 
                          {
                            (DQ <'\tgas -o '> ($ Id.VSub_DollarName '$dstfile') <' '> 
                              ($ Id.VSub_DollarName '$GNUBASE') <'/'> ($ Id.VSub_DollarName '$OBJDIR') <'/'> ($ Id.VSub_DollarName '$srcfile') <.gnu>
                            )
                          }
                        )
                        (command.Simple
                          words: [
                            {<echo>}
                            {
                              (DQ <'\tmkdep \'gcc '> ($ Id.VSub_DollarName '$CFLAGS') 
                                <' -E -x assembler-with-cpp -I.\' '> ($ Id.VSub_DollarName '$srcfile') <' | '> ($ Id.VSub_DollarName '$sedcmd') <' >> .depend-gnu'>
                              )
                            }
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_GreatAnd '>&'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<4>}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      spids: [856 859 912 -1]
                    )
                    (case_arm
                      pat_list: [{<Id.Lit_Star '*'> <.gs>}]
                      action: [
                        (C {<echo>} 
                          {
                            (DQ <'\tgas -o '> ($ Id.VSub_DollarName '$dstfile') <' '> 
                              ($ Id.VSub_DollarName '$srcfile')
                            )
                          }
                        )
                        (command.Simple
                          words: [
                            {<echo>}
                            {
                              (DQ <'\tmkdep \'gcc '> ($ Id.VSub_DollarName '$CFLAGS') 
                                <' -E -x assembler-with-cpp -I.\' '> ($ Id.VSub_DollarName '$srcfile') <' | '> ($ Id.VSub_DollarName '$sedcmd') <' >> .depend-gnu'>
                              )
                            }
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_GreatAnd '>&'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<4>}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      spids: [915 918 949 -1]
                    )
                    (case_arm
                      pat_list: [{<Id.Lit_Star '*'> <.c>}]
                      action: [
                        (C {<echo>} 
                          {
                            (DQ <'\tgcc '> ($ Id.VSub_DollarName '$CFLAGS') <' -c -o '> 
                              ($ Id.VSub_DollarName '$dstfile') <' '> ($ Id.VSub_DollarName '$srcfile')
                            )
                          }
                        )
                        (command.Simple
                          words: [
                            {<echo>}
                            {
                              (DQ <'\tmkdep \'gcc '> ($ Id.VSub_DollarName '$CFLAGS') <' -E\' '> 
                                ($ Id.VSub_DollarName '$srcfile') <' | '> ($ Id.VSub_DollarName '$sedcmd') <' >> .depend-gnu'>
                              )
                            }
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_GreatAnd '>&'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<4>}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      spids: [952 955 988 -1]
                    )
                  ]
                )
                (C {<echo>})
              ]
            )
        )
        (command.ForEach
          iter_name: lib
          iter_words: [{($ Id.VSub_DollarName '$LIBRARIES')}]
          do_arg_iter: F
          body: 
            (BraceGroup
              children: [
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$TYPE')} 
                                  {<Id.Lit_Equals '='>} {(DQ <both>)} {<-o>} {($ Id.VSub_DollarName '$TYPE')} {<Id.Lit_Equals '='>} {(DQ <ack>)} 
                                  {<Id.Lit_RBracket ']'>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (C {<echo>} 
                          {
                            (DQ <'all-ack: '> ($ Id.VSub_DollarName '$ACKBASE') <'/'> 
                              ($ Id.VSub_DollarName '$lib') <.a>
                            )
                          }
                        )
                        (C {<eval>} 
                          {
                            (DQ <'FILES='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) 
                              (${ Id.VSub_Name lib) <_FILES>
                            )
                          }
                        )
                        (C {<echo>})
                        (command.ForEach
                          iter_name: f
                          iter_words: [{($ Id.VSub_DollarName '$FILES')}]
                          do_arg_iter: F
                          body: 
                            (BraceGroup
                              children: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:o)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_Backtick '`'>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (C {<echo>} {($ Id.VSub_DollarName '$f')})
                                                  (C {<sed>} {<-e>} {(SQ <'s/\\..*$/\\.o/'>)})
                                                ]
                                                negated: F
                                              )
                                          )
                                        }
                                      spids: [1104]
                                    )
                                  ]
                                )
                                (C {<echo>} 
                                  {
                                    (DQ ($ Id.VSub_DollarName '$ACKBASE') <'/'> 
                                      ($ Id.VSub_DollarName '$lib') <'.a: '> ($ Id.VSub_DollarName '$ACKBASE') <'/'> ($ Id.VSub_DollarName '$lib') <'.a('> 
                                      ($ Id.VSub_DollarName '$o') <')'>
                                    )
                                  }
                                )
                              ]
                            )
                        )
                        (C {<echo>})
                        (C {<echo>} 
                          {
                            (DQ ($ Id.VSub_DollarName '$ACKBASE') <'/'> ($ Id.VSub_DollarName '$lib') 
                              <'.a:'>
                            )
                          }
                        )
                        (C {<echo>} 
                          {
                            (DQ <'\tar cr '> ($ Id.VSub_DollarName '$ACKBASE') <'/'> 
                              ($ Id.VSub_DollarName '$lib') <'.a '> ($ Id.VSub_DollarName '$ACKBASE') <'/'> ($ Id.VSub_DollarName '$OBJDIR') <'/*.o'>
                            )
                          }
                        )
                        (C {<echo>} 
                          {
                            (DQ <'\trm '> ($ Id.VSub_DollarName '$ACKBASE') <'/'> 
                              ($ Id.VSub_DollarName '$OBJDIR') <'/*.o'>
                            )
                          }
                        )
                        (C {<echo>})
                        (command.ForEach
                          iter_name: f
                          iter_words: [{($ Id.VSub_DollarName '$FILES')}]
                          do_arg_iter: F
                          body: 
                            (BraceGroup
                              children: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:o)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_Backtick '`'>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (C {<echo>} {($ Id.VSub_DollarName '$f')})
                                                  (C {<sed>} {<-e>} {(SQ <'s/\\..*$/\\.o/'>)})
                                                ]
                                                negated: F
                                              )
                                          )
                                        }
                                      spids: [1203]
                                    )
                                  ]
                                )
                                (C {<echo>} 
                                  {
                                    (DQ ($ Id.VSub_DollarName '$ACKBASE') <'/'> 
                                      ($ Id.VSub_DollarName '$lib') <'.a('> ($ Id.VSub_DollarName '$o') <'): '> ($ Id.VSub_DollarName '$f')
                                    )
                                  }
                                )
                                (C {<ackCommands>} 
                                  {($ Id.VSub_DollarName '$ACKBASE') <'/'> 
                                    ($ Id.VSub_DollarName '$OBJDIR') <'/'> ($ Id.VSub_DollarName '$o')
                                  } {($ Id.VSub_DollarName '$f')}
                                )
                              ]
                            )
                        )
                        (C {<echo>})
                      ]
                      spids: [1037 1062]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$TYPE')} 
                                  {<Id.Lit_Equals '='>} {(DQ <both>)} {<-o>} {($ Id.VSub_DollarName '$TYPE')} {<Id.Lit_Equals '='>} {(DQ <gnu>)} 
                                  {<Id.Lit_RBracket ']'>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (C {<echo>} 
                          {
                            (DQ <'all-gnu: '> ($ Id.VSub_DollarName '$GNUBASE') <'/'> 
                              ($ Id.VSub_DollarName '$lib') <.a>
                            )
                          }
                        )
                        (C {<eval>} 
                          {
                            (DQ <'FILES='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) 
                              (${ Id.VSub_Name lib) <_FILES>
                            )
                          }
                        )
                        (C {<echo>})
                        (command.ForEach
                          iter_name: f
                          iter_words: [{($ Id.VSub_DollarName '$FILES')}]
                          do_arg_iter: F
                          body: 
                            (BraceGroup
                              children: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:o)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_Backtick '`'>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (C {<echo>} {($ Id.VSub_DollarName '$f')})
                                                  (C {<sed>} {<-e>} {(SQ <'s/\\..*$/\\.o/'>)})
                                                ]
                                                negated: F
                                              )
                                          )
                                        }
                                      spids: [1333]
                                    )
                                  ]
                                )
                                (C {<echo>} 
                                  {
                                    (DQ ($ Id.VSub_DollarName '$GNUBASE') <'/'> 
                                      ($ Id.VSub_DollarName '$lib') <'.a: '> ($ Id.VSub_DollarName '$GNUBASE') <'/'> ($ Id.VSub_DollarName '$OBJDIR') <'/'> 
                                      ($ Id.VSub_DollarName '$o')
                                    )
                                  }
                                )
                              ]
                            )
                        )
                        (C {<echo>})
                        (C {<echo>} 
                          {
                            (DQ ($ Id.VSub_DollarName '$GNUBASE') <'/'> ($ Id.VSub_DollarName '$lib') 
                              <'.a:'>
                            )
                          }
                        )
                        (C {<echo>} 
                          {
                            (DQ <'\tgar cr '> ($ Id.VSub_DollarName '$GNUBASE') <'/'> 
                              ($ Id.VSub_DollarName '$lib') <'.a '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'?'>
                            )
                          }
                        )
                        (C {<echo>})
                        (command.ForEach
                          iter_name: f
                          iter_words: [{($ Id.VSub_DollarName '$FILES')}]
                          do_arg_iter: F
                          body: 
                            (BraceGroup
                              children: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:o)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_Backtick '`'>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (C {<echo>} {($ Id.VSub_DollarName '$f')})
                                                  (C {<sed>} {<-e>} {(SQ <'s/\\..*$/\\.o/'>)})
                                                ]
                                                negated: F
                                              )
                                          )
                                        }
                                      spids: [1418]
                                    )
                                  ]
                                )
                                (C {<echo>} 
                                  {
                                    (DQ ($ Id.VSub_DollarName '$GNUBASE') <'/'> 
                                      ($ Id.VSub_DollarName '$OBJDIR') <'/'> ($ Id.VSub_DollarName '$o') <': '> ($ Id.VSub_DollarName '$f')
                                    )
                                  }
                                )
                                (C {<gnuCommands>} 
                                  {($ Id.VSub_DollarName '$GNUBASE') <'/'> 
                                    ($ Id.VSub_DollarName '$OBJDIR') <'/'> ($ Id.VSub_DollarName '$o')
                                  } {($ Id.VSub_DollarName '$f')}
                                )
                              ]
                            )
                        )
                        (C {<echo>})
                      ]
                      spids: [1266 1291]
                    )
                  ]
                )
              ]
            )
        )
        (C {<echo>})
        (command.ForEach
          iter_name: f
          iter_words: [{($ Id.VSub_DollarName '$STARTFILES')}]
          do_arg_iter: F
          body: 
            (BraceGroup
              children: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:o)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: <Id.Left_Backtick '`'>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<echo>} {($ Id.VSub_DollarName '$f')})
                                  (C {<sed>} {<-e>} {(SQ <'s/\\..*$/\\.o/'>)})
                                ]
                                negated: F
                              )
                          )
                        }
                      spids: [1499]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$TYPE')} 
                                  {<Id.Lit_Equals '='>} {(DQ <both>)} {<-o>} {($ Id.VSub_DollarName '$TYPE')} {<Id.Lit_Equals '='>} {(DQ <ack>)} 
                                  {<Id.Lit_RBracket ']'>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (C {<echo>} 
                          {
                            (DQ <'all-ack: '> ($ Id.VSub_DollarName '$ACKBASE') <'/'> 
                              ($ Id.VSub_DollarName '$o')
                            )
                          }
                        )
                        (C {<echo>})
                        (C {<echo>} 
                          {
                            (DQ ($ Id.VSub_DollarName '$ACKBASE') <'/'> ($ Id.VSub_DollarName '$o') 
                              <': '> ($ Id.VSub_DollarName '$f')
                            )
                          }
                        )
                        (C {<ackCommands>} 
                          {($ Id.VSub_DollarName '$ACKBASE') <'/'> ($ Id.VSub_DollarName '$o')} {($ Id.VSub_DollarName '$f')}
                        )
                        (C {<echo>})
                      ]
                      spids: [1527 1552]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$TYPE')} 
                                  {<Id.Lit_Equals '='>} {(DQ <both>)} {<-o>} {($ Id.VSub_DollarName '$TYPE')} {<Id.Lit_Equals '='>} {(DQ <gnu>)} 
                                  {<Id.Lit_RBracket ']'>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (C {<echo>} 
                          {
                            (DQ <'all-gnu: '> ($ Id.VSub_DollarName '$GNUBASE') <'/'> 
                              ($ Id.VSub_DollarName '$o')
                            )
                          }
                        )
                        (C {<echo>})
                        (C {<echo>} 
                          {
                            (DQ ($ Id.VSub_DollarName '$GNUBASE') <'/'> ($ Id.VSub_DollarName '$o') 
                              <': '> ($ Id.VSub_DollarName '$f')
                            )
                          }
                        )
                        (C {<gnuCommands>} 
                          {($ Id.VSub_DollarName '$GNUBASE') <'/'> ($ Id.VSub_DollarName '$o')} {($ Id.VSub_DollarName '$f')}
                        )
                        (C {<echo>})
                      ]
                      spids: [1594 1619]
                    )
                  ]
                )
              ]
            )
        )
      ]
    )
    (C {<echo>})
    (C {<echo>} {(DQ <'clean::'>)})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$TYPE')} {<Id.Lit_Equals '='>} 
                      {(DQ <both>)} {<-o>} {($ Id.VSub_DollarName '$TYPE')} {<Id.Lit_Equals '='>} {(DQ <ack>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} 
              {
                (DQ <'\trm -f '> ($ Id.VSub_DollarName '$ACKBASE') <'/'> 
                  ($ Id.VSub_DollarName '$OBJDIR') <'/*'>
                )
              }
            )
          ]
          spids: [1676 1701]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$TYPE')} {<Id.Lit_Equals '='>} 
                      {(DQ <both>)} {<-o>} {($ Id.VSub_DollarName '$TYPE')} {<Id.Lit_Equals '='>} {(DQ <gnu>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} 
              {
                (DQ <'\trm -f '> ($ Id.VSub_DollarName '$GNUBASE') <'/'> 
                  ($ Id.VSub_DollarName '$OBJDIR') <'/*'>
                )
              }
            )
          ]
          spids: [1716 1741]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$OBJDIR')} {<Id.Lit_Equals '='>} 
                      {(DQ <.>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>})
            (C {<echo>} {(DQ <'install: install-ack'>)})
            (C {<echo>})
            (C {<echo>} {(DQ <'install-ack: all-ack'>)})
            (C {<echo>} 
              {
                (DQ <'\tcp '> ($ Id.VSub_DollarName '$ACKBASE') <'/*.[ao] /usr/lib/'> 
                  ($ Id.VSub_DollarName '$ARCH')
                )
              }
            )
            (C {<echo>})
            (C {<echo>} {(DQ <'install-gnu: all-gnu'>)})
            (C {<echo>} {(DQ <'\tcp '> ($ Id.VSub_DollarName '$GNUBASE') <'/*.[ao] /usr/gnu/lib'>)})
          ]
          spids: [1757 1772]
        )
      ]
    )
    (C {<echo>})
    (C {<echo>} {(DQ <'include Makedepend-ack'>)})
    (C {<echo>} {(DQ <'include .depend-ack'>)})
    (C {<echo>})
    (C {<echo>} {(DQ <'include Makedepend-gnu'>)})
    (C {<echo>} {(DQ <'include .depend-gnu'>)})
  ]
)