(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'DEFAULT_TEXT_START_ADDR='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'DEFAULT_TEXT_START_ADDR='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'DEFAULT_TEXT_START_ADDR='>
              name: DEFAULT_TEXT_START_ADDR
            )
          op: assign_op.Equal
          rhs: {<0>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'DEFAULT_STACK_START_ADDR='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'DEFAULT_STACK_START_ADDR='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'DEFAULT_STACK_START_ADDR='>
              name: DEFAULT_STACK_START_ADDR
            )
          op: assign_op.Equal
          rhs: {<0>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'MACHINE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'MACHINE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MACHINE='> name:MACHINE)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'SCRIPT_NAME='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'SCRIPT_NAME='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SCRIPT_NAME='> name:SCRIPT_NAME)
          op: assign_op.Equal
          rhs: {<nds32elf>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TEMPLATE_NAME='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TEMPLATE_NAME='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEMPLATE_NAME='> name:TEMPLATE_NAME)
          op: assign_op.Equal
          rhs: {<elf32>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'EXTRA_EM_FILE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'EXTRA_EM_FILE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXTRA_EM_FILE='> name:EXTRA_EM_FILE)
          op: assign_op.Equal
          rhs: {<nds32elf>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'BIG_OUTPUT_FORMAT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'BIG_OUTPUT_FORMAT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'BIG_OUTPUT_FORMAT='> name:BIG_OUTPUT_FORMAT)
          op: assign_op.Equal
          rhs: {(DQ <elf32-nds32be-linux>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'LITTLE_OUTPUT_FORMAT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'LITTLE_OUTPUT_FORMAT='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'LITTLE_OUTPUT_FORMAT='>
              name: LITTLE_OUTPUT_FORMAT
            )
          op: assign_op.Equal
          rhs: {(DQ <elf32-nds32le-linux>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OUTPUT_FORMAT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OUTPUT_FORMAT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OUTPUT_FORMAT='> name:OUTPUT_FORMAT)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName LITTLE_OUTPUT_FORMAT))}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'LIB_PATH='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'LIB_PATH='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LIB_PATH='> name:LIB_PATH)
          op: assign_op.Equal
          rhs: {(DQ <'=/usr/local/lib:=/lib:=/usr/lib/'>)}
        )
      ]
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [
                        {<Id.Lit_LBracket '['>}
                        {(DQ (${ Id.VSub_Name DEFAULT_TEXT_START_ADDR))}
                        {<Id.Lit_Equals '='>}
                        {(DQ <0>)}
                        {<Id.Lit_RBracket ']'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'TEXT_START_ADDR='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'TEXT_START_ADDR='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'TEXT_START_ADDR='>
                      name: TEXT_START_ADDR
                    )
                  op: assign_op.Equal
                  rhs: {<0x8000>}
                )
              ]
              redirects: []
            )
          ]
          spids: [38 57]
        )
      ]
      else_kw: <Id.KW_Else else>
      else_action: [
        (command.ShAssignment
          left: <Id.Lit_VarLike 'TEXT_START_ADDR='>
          pairs: [
            (AssignPair
              left: <Id.Lit_VarLike 'TEXT_START_ADDR='>
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEXT_START_ADDR='> name:TEXT_START_ADDR)
              op: assign_op.Equal
              rhs: {(${ Id.VSub_Name DEFAULT_TEXT_START_ADDR)}
            )
          ]
          redirects: []
        )
      ]
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ARCH='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ARCH='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARCH='> name:ARCH)
          op: assign_op.Equal
          rhs: {<nds32>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'MACHINE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'MACHINE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MACHINE='> name:MACHINE)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'MAXPAGESIZE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'MAXPAGESIZE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAXPAGESIZE='> name:MAXPAGESIZE)
          op: assign_op.Equal
          rhs: {(DQ <'CONSTANT (MAXPAGESIZE)'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'COMMONPAGESIZE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'COMMONPAGESIZE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMMONPAGESIZE='> name:COMMONPAGESIZE)
          op: assign_op.Equal
          rhs: {(DQ <'CONSTANT (COMMONPAGESIZE)'>)}
        )
      ]
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [
                        {<Id.Lit_LBracket '['>}
                        {(DQ (${ Id.VSub_Name DEFAULT_STACK_START_ADDR))}
                        {<Id.Lit_Equals '='>}
                        {(DQ <0>)}
                        {<Id.Lit_RBracket ']'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'OTHER_RELOCATING_SECTIONS='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'OTHER_RELOCATING_SECTIONS='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'OTHER_RELOCATING_SECTIONS='>
                      name: OTHER_RELOCATING_SECTIONS
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'PROVIDE (_stack = 0x2000000);'>)}
                )
              ]
              redirects: []
            )
          ]
          spids: [96 115]
        )
      ]
      else_kw: <Id.KW_Else else>
      else_action: [
        (command.ShAssignment
          left: <Id.Lit_VarLike 'OTHER_RELOCATING_SECTIONS='>
          pairs: [
            (AssignPair
              left: <Id.Lit_VarLike 'OTHER_RELOCATING_SECTIONS='>
              lhs: 
                (sh_lhs_expr.Name
                  left: <Id.Lit_VarLike 'OTHER_RELOCATING_SECTIONS='>
                  name: OTHER_RELOCATING_SECTIONS
                )
              op: assign_op.Equal
              rhs: {(DQ <'PROVIDE (_stack = '> (${ Id.VSub_Name DEFAULT_STACK_START_ADDR) <');'>)}
            )
          ]
          redirects: []
        )
      ]
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'GENERATE_SHLIB_SCRIPT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'GENERATE_SHLIB_SCRIPT='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'GENERATE_SHLIB_SCRIPT='>
              name: GENERATE_SHLIB_SCRIPT
            )
          op: assign_op.Equal
          rhs: {<yes>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'GENERATE_PIE_SCRIPT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'GENERATE_PIE_SCRIPT='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'GENERATE_PIE_SCRIPT='>
              name: GENERATE_PIE_SCRIPT
            )
          op: assign_op.Equal
          rhs: {<yes>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'COMPILE_IN='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'COMPILE_IN='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMPILE_IN='> name:COMPILE_IN)
          op: assign_op.Equal
          rhs: {<no>}
        )
      ]
      redirects: []
    )
  ]
)