(command.CommandList children: [ (C {<Setup.provide>} {<C>} {<0.1>}) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name C_PREFIX> suffix_op: (suffix_op.Unary tok: <Id.VTest_Equals '='> arg_word: {(DQ <'/'> ($ Id.VSub_DollarName '$SETUP_PREFIX'))} ) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name C_BUILD> suffix_op: (suffix_op.Unary tok: <Id.VTest_Equals '='> arg_word: {(DQ (${ Id.VSub_Name C_PREFIX) <.build>)} ) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name C_SRC> suffix_op: (suffix_op.Unary tok: <Id.VTest_Equals '='> arg_word: {(DQ (${ Id.VSub_Name C_PREFIX) <src>)} ) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name C_DEP> suffix_op: (suffix_op.Unary tok: <Id.VTest_Equals '='> arg_word: {(DQ (${ Id.VSub_Name C_BUILD) <'/dep'>)} ) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name C_OBJ> suffix_op: (suffix_op.Unary tok: <Id.VTest_Equals '='> arg_word: {(DQ (${ Id.VSub_Name C_BUILD) <'/obj'>)} ) ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name C_BIN> suffix_op: (suffix_op.Unary tok: <Id.VTest_Equals '='> arg_word: {(DQ (${ Id.VSub_Name C_BUILD) <'/bin'>)} ) ) } ) (command.ShFunction name: C.compile body: (BraceGroup children: [ (command.Sentence child: (C {<gcc>} {<-c>} {(DQ ($ Id.VSub_Number '$2'))} { (braced_var_sub token: <Id.VSub_Name C_SRC> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonPlus ':+'> arg_word: {<-I> (DQ ($ Id.VSub_DollarName '$C_SRC'))} ) ) } {<-o>} {(DQ ($ Id.VSub_Number '$1'))} ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: C.ld body: (BraceGroup children: [ (command.Sentence child: (C {<gcc>} {<-o>} {(DQ ($ Id.VSub_Number '$1'))} { (DQ (braced_var_sub token: <Id.VSub_At '@'> suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 2>}) ) ) } ) terminator: <Id.Op_Semi _> ) ] ) ) (command.ShFunction name: C.includes body: (BraceGroup children: [ (command.Sentence child: (command.Simple words: [ {<sed>} {(SQ <'s,#include "(.*)",'>) (DQ (braced_var_sub token: <Id.VSub_Name C_SRC> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonPlus ':+'> arg_word: {($ Id.VSub_DollarName '$C_SRC') <Id.Lit_Slash '/'>} ) ) ) (SQ <'\\1,p'>) } {<-rn>} {(DQ ($ Id.VSub_Number '$2'))} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_Number '$1'))} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) ) (C {<prepare-match>} {(DQ <Id.Lit_Dollar '$'>)}) ] )