(command.CommandList
  children: [
    (C {<echo>} {(DQ <'*** BUILD GLIBC BEGIN ***'>)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SRC_DIR)
          op: assign_op.Equal
          rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<pwd>}))}
          spids: [11]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:JOB_FACTOR)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<grep>} {<-i>} {<Id.Lit_Other '^'> <JOB_FACTOR>} {<.config>})
                        (C {<cut>} {<-f2>} {<-d> (SQ <'='>)})
                      ]
                      negated: F
                    )
                )
              )
            }
          spids: [20]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:CFLAGS)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<grep>} {<-i>} {<Id.Lit_Other '^'> <CFLAGS>} {<.config>})
                        (C {<cut>} {<-f2>} {<-d> (SQ <'='>)})
                      ]
                      negated: F
                    )
                )
              )
            }
          spids: [49]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:NUM_CORES)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<grep>} {<Id.Lit_Other '^'> <processor>} {<'/proc/cpuinfo'>})
                      (C {<wc>} {<-l>})
                    ]
                    negated: F
                  )
              )
            }
          spids: [78]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:NUM_JOBS)
          op: assign_op.Equal
          rhs: 
            {
              (word_part.ArithSub
                anode: 
                  (arith_expr.Binary
                    op_id: Id.Arith_Star
                    left: <Id.Lit_ArithVarLike NUM_CORES>
                    right: <Id.Lit_ArithVarLike JOB_FACTOR>
                  )
              )
            }
          spids: [98]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:KERNEL_INSTALLED)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName '$SRC_DIR') <'/work/kernel/kernel_installed'>}
          spids: [112]
        )
      ]
    )
    (C {<cd>} {<'work/glibc'>})
    (C {<cd>} 
      {
        (command_sub
          left_token: <Id.Left_DollarParen '$('>
          child: (C {<ls>} {<-d>} {<glibc-> <Id.Lit_Star '*'>})
        )
      }
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GLIBC_SRC)
          op: assign_op.Equal
          rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<pwd>}))}
          spids: [136]
        )
      ]
    )
    (C {<cd>} {<..>})
    (C {<echo>} {(DQ <'Preparing glibc object area. This may take a while...'>)})
    (C {<rm>} {<-rf>} {<glibc_objects>})
    (C {<mkdir>} {<glibc_objects>})
    (C {<echo>} {(DQ <'Preparing glibc install area. This may take a while...'>)})
    (C {<rm>} {<-rf>} {<glibc_installed>})
    (C {<mkdir>} {<glibc_installed>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GLIBC_INSTALLED)
          op: assign_op.Equal
          rhs: 
            {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<pwd>})) 
              <'/glibc_installed'>
            }
          spids: [185]
        )
      ]
    )
    (C {<cd>} {<glibc_objects>})
    (C {<echo>} {(DQ <'Configuring glibc...'>)})
    (C {($ Id.VSub_DollarName '$GLIBC_SRC') <'/configure'>} {<--prefix> <Id.Lit_Equals '='>} 
      {<--with-headers> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$KERNEL_INSTALLED') <'/include'>} {<--without-gd>} {<--without-selinux>} {<--disable-werror>} 
      {<Id.Lit_VarLike 'CFLAGS='> (DQ ($ Id.VSub_DollarName '$CFLAGS'))}
    )
    (C {<echo>} {(DQ <'Building glibc...'>)})
    (C {<make>} {<-j>} {($ Id.VSub_DollarName '$NUM_JOBS')})
    (C {<echo>} {(DQ <'Installing glibc...'>)})
    (C {<make>} {<install>} {<Id.Lit_VarLike 'DESTDIR='> ($ Id.VSub_DollarName '$GLIBC_INSTALLED')} 
      {<-j>} {($ Id.VSub_DollarName '$NUM_JOBS')}
    )
    (C {<cd>} {($ Id.VSub_DollarName '$SRC_DIR')})
    (C {<echo>} {(DQ <'*** BUILD GLIBC END ***'>)})
  ]
)