(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ONBLDDIR='> name:ONBLDDIR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<whence>} {($ Id.VSub_Number 0)}) right: <Id.Eof_RParen _> ) } ) right: <Id.Eof_RParen _> ) } spids: [82] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROG='> name:PROG) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<basename>} {($ Id.VSub_Number 0)}) right: <Id.Backtick_Right '`'> ) } spids: [94] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'XREFMK='> name:XREFMK) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<dirname>} {($ Id.VSub_Number 0)}) right: <Id.Backtick_Right '`'> ) <'/xref.mk'> } spids: [103] ) ] redirects: [] ) (command.Simple words: [{<export>} {<XRMAKEFILE>}] redirects: [] more_env: [(env_pair name:XRMAKEFILE val:{<Makefile>} spids:[113])] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAKE='> name:MAKE) op: assign_op.Equal rhs: {(DQ <'dmake -m serial'>)} spids: [120] ) ] redirects: [] ) (C {<unset>} {<CSCOPEOPTIONS>}) (C {<unset>} {<CDPATH>}) (command.ShFunction name: fail body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple words: [{<echo>} {($ Id.VSub_DollarName PROG) <Id.Lit_Colon ':'>} {($ Id.VSub_At '@')}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/stderr'>})] more_env: [] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: warn body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple words: [ {<echo>} {($ Id.VSub_DollarName PROG) <Id.Lit_Colon ':'>} {<warning> <Id.Lit_Colon ':'>} {($ Id.VSub_At '@')} ] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/stderr'>})] more_env: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: info body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [(C {<echo>} {($ Id.VSub_DollarName PROG) <Id.Lit_Colon ':'>} {($ Id.VSub_At '@')})] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: timeinfo body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<typeset>} {<-Z2>} {<sec>}) (C {<typeset>} {<-i>} {<min>} {<seconds>}) (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike seconds) right: ($ Id.Lit_ArithVarLike SECONDS) ) redirects: [] ) (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike min) right: (arith_expr.Binary op_id: Id.Arith_Slash left: ($ Id.Lit_ArithVarLike seconds) right: {<Id.Lit_Digits 60>} ) ) redirects: [] ) (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike sec) right: (arith_expr.Binary op_id: Id.Arith_Percent left: ($ Id.Lit_ArithVarLike seconds) right: {<Id.Lit_Digits 60>} ) ) redirects: [] ) (C {<info>} {(DQ ($ Id.VSub_Number 1) <' in '> (${ Id.VSub_Name min) <m> (${ Id.VSub_Name sec) <s>)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [(C {<which_scm>}) (C {<read>} {<SCM_MODE>} {<CODEMGR_WS>})] negated: F stderr_indices: [] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName SCM_MODE)} right: {(DQ <unknown>)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<print>} {<-u2>} {(DQ <'Unable to determine SCM type currently in use.'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [364 378] ) ] else_action: [] redirects: [] ) (C {<export>} {<CODEMGR_WS>}) (command.Simple words: [{<export>} {<SRC>}] redirects: [] more_env: [(env_pair name:SRC val:{($ Id.VSub_DollarName CODEMGR_WS) <'/usr/src'>} spids:[401])] do_fork: T ) (command.Simple words: [{<export>} {<MACH>}] redirects: [] more_env: [ (env_pair name: MACH val: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<uname>} {<-p>}) right: <Id.Backtick_Right '`'> ) } spids: [409] ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName XREFMK)} {<Id.Lit_RBracket ']'>}) (C {<fail>} {(DQ <'cannot locate xref.mk'>)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'clobber='> name:clobber) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [440] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'noflg='> name:noflg) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [442] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'xrefs='> name:xrefs) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [444] ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<getopts>} {<cfm> <Id.Lit_Colon ':'> <px> <Id.Lit_Colon ':'>} {<flag>}) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName flag)} arms: [ (case_arm pat_list: [{<c>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'clobber='> name:clobber) op: assign_op.Equal rhs: {<y>} spids: [473] ) ] redirects: [] ) ] spids: [469 470 477 -1] ) (case_arm pat_list: [{<f>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'noflg='> name:noflg) op: assign_op.Equal rhs: {<y>} spids: [484] ) ] redirects: [] ) ] spids: [480 481 488 -1] ) (case_arm pat_list: [{<m>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'XRMAKEFILE='> name:XRMAKEFILE) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTARG)} spids: [495] ) ] redirects: [] ) ] spids: [491 492 499 -1] ) (case_arm pat_list: [{<p>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'ENVCPPFLAGS1='> name: ENVCPPFLAGS1 ) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [526] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'ENVCPPFLAGS2='> name: ENVCPPFLAGS2 ) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [529] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'ENVCPPFLAGS3='> name: ENVCPPFLAGS3 ) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [532] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'ENVCPPFLAGS4='> name: ENVCPPFLAGS4 ) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [535] ) ] redirects: [] ) ] spids: [502 503 538 -1] ) (case_arm pat_list: [{<x>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'xrefs='> name:xrefs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTARG)} spids: [545] ) ] redirects: [] ) ] spids: [541 542 549 -1] ) (case_arm pat_list: [{(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\?'> ch:'?')}] action: [ (command.Simple words: [ {<echo>} {(DQ <'usage: '> ($ Id.VSub_DollarName PROG) <' [-cfp] [-m <makefile>]'>)} {(DQ <'[-x cscope|ctags|etags[,...]] [<subtree> ...]'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/stderr'>} ) ] more_env: [] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [552 553 580 -1] ) ] redirects: [] ) ] ) redirects: [] ) (C {<shift>} { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Minus left: ($ Id.Lit_ArithVarLike OPTIND) right: {<Id.Lit_Digits 1>} ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dirs='> name:dirs) op: assign_op.Equal rhs: {($ Id.VSub_At '@')} spids: [609] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName dirs))} {<Id.Lit_RBracket ']'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dirs='> name:dirs) op: assign_op.Equal rhs: {<.>} spids: [624] ) ] redirects: [] ) ] ) (C {<cd>} {($ Id.VSub_DollarName CODEMGR_WS)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CODEMGR_WS='> name:CODEMGR_WS) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<'/bin/pwd'>}) right: <Id.Backtick_Right '`'> ) } spids: [644] ) ] redirects: [] ) (command.Simple words: [{<cd>} {<->}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName xrefs))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'xrefs='> name:xrefs) op: assign_op.Equal rhs: {(DQ <'cscope ctags'>)} spids: [700] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [ {($ Id.VSub_DollarName MAKE)} {<-e>} {<-f>} {($ Id.VSub_DollarName XREFMK)} {<xref.etags.check>} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] more_env: [] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'xrefs='> name:xrefs) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName xrefs) <' etags'>)} spids: [726] ) ] redirects: [] ) ] ) ] spids: [672 685] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oldifs='> name:oldifs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IFS)} spids: [735] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {<Id.Lit_Comma ','>} spids: [739] ) ] redirects: [] ) (C {<set>} {<-->} {($ Id.VSub_DollarName xrefs)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName oldifs)} spids: [750] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'xrefs='> name:xrefs) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [755] ) ] redirects: [] ) (command.ForEach iter_names: [xref] iterable: (for_iter.Args) body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName xref)} arms: [ (case_arm pat_list: [{<cscope>} {<cscope.out>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'xrefs='> name:xrefs) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName xrefs) <' cscope'>)} spids: [779] ) ] redirects: [] ) ] spids: [773 776 786 -1] ) (case_arm pat_list: [{<ctags>} {<tags>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'xrefs='> name:xrefs) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName xrefs) <' ctags'>)} spids: [795] ) ] redirects: [] ) ] spids: [789 792 802 -1] ) (case_arm pat_list: [{<etags>} {<TAGS>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'xrefs='> name:xrefs) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName xrefs) <' etags'>)} spids: [811] ) ] redirects: [] ) ] spids: [805 808 818 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<warn>} { (DQ <'ignoring unknown cross-reference '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName xref) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ) ] spids: [821 822 835 -1] ) ] redirects: [] ) ] ) redirects: [] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName xrefs))} {<Id.Lit_RBracket ']'>}) (C {<fail>} {(DQ <'no known cross-reference formats specified'>)}) ] ) ] redirects: [] ) (command.ForEach iter_names: [dir] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName dirs)}]) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {($ Id.VSub_DollarName dir)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<warn>} { (DQ <'directory '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName dir) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' does not exist; skipping'> ) } ) (command.ControlFlow token:<Id.ControlFlow_Continue continue>) ] spids: [887 900] ) ] else_action: [] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<cd>} {($ Id.VSub_DollarName dir)}) (C {<fail>} {(DQ <'cannot change to directory '> ($ Id.VSub_DollarName dir))}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pwd='> name:pwd) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<'/bin/pwd'>}) right: <Id.Backtick_Right '`'> ) } spids: [951] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'reldir='> name:reldir) op: assign_op.Equal rhs: { (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name pwd> var_name: pwd suffix_op: (suffix_op.Unary op: <Id.VOp1_DPound '##'> arg_word: {(${ Id.VSub_Name CODEMGR_WS) <Id.Lit_Slash '/'>} ) right: <Id.Right_DollarBrace '}'> ) } spids: [959] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName reldir))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName pwd))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<warn>} { (DQ <'directory '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName pwd) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' is not beneath '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'CODEMGR_WS; skipping'> ) } ) (command.Simple words: [{<cd>} {<->}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Continue continue>) ] spids: [970 987] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName clobber))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {($ Id.VSub_DollarName MAKE)} {<-e>} {<-f>} {($ Id.VSub_DollarName XREFMK)} {<xref.clean>} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] spids: [1035 1048] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName noflg))} {<-a>} {<-z>} {(DQ ($ Id.VSub_DollarName clobber))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SECONDS='> name:SECONDS) op: assign_op.Equal rhs: {<0>} spids: [1106] ) ] redirects: [] ) (C {<info>} {(DQ ($ Id.VSub_DollarName reldir) <': finding flg-related source files'>)} ) (command.Simple words: [ {($ Id.VSub_DollarName MAKE)} {<-e>} {<-f>} {($ Id.VSub_DollarName XREFMK)} {<xref.flg>} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<warn>} { (DQ ($ Id.VSub_DollarName reldir) <': unable to find flg-related source files'> ) } ) ] spids: [1133 1146] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'nfiles='> name:nfiles) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<wc>} {<-l>}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<xref.flg>} ) ] more_env: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } spids: [1160] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName nfiles))} {<-eq>} {<1>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'msg='> name:msg) op: assign_op.Equal rhs: {(DQ <'found 1 flg-related source file'>)} spids: [1192] ) ] redirects: [] ) ] spids: [1174 1189] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'msg='> name:msg) op: assign_op.Equal rhs: { (DQ <'found '> ($ Id.VSub_DollarName nfiles) <' flg-related source files'> ) } spids: [1201] ) ] redirects: [] ) ] redirects: [] ) (C {<timeinfo>} {(DQ ($ Id.VSub_DollarName reldir) <': '> ($ Id.VSub_DollarName msg))} ) ] redirects: [] ) ] spids: [1082 1103] ) ] else_action: [] redirects: [] ) (command.ForEach iter_names: [xref] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName xrefs)}]) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName clobber))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<info>} { (DQ ($ Id.VSub_DollarName reldir) <': clobbering '> ($ Id.VSub_DollarName xref) <' cross-reference'> ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {($ Id.VSub_DollarName MAKE)} {<-e>} {<-f>} {($ Id.VSub_DollarName XREFMK)} {<xref.> (${ Id.VSub_Name xref) <.clobber>} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<warn>} { (DQ ($ Id.VSub_DollarName reldir) <': cannot clobber '> ($ Id.VSub_DollarName xref) <' cross-reference'> ) } ) ] ) (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [1252 1265] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SECONDS='> name:SECONDS) op: assign_op.Equal rhs: {<0>} spids: [1316] ) ] redirects: [] ) (C {<info>} { (DQ ($ Id.VSub_DollarName reldir) <': building '> ($ Id.VSub_DollarName xref) <' cross-reference'> ) } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {($ Id.VSub_DollarName MAKE)} {<-e>} {<-f>} {($ Id.VSub_DollarName XREFMK)} {<xref.> (${ Id.VSub_Name xref)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<fail>} { (DQ ($ Id.VSub_DollarName reldir) <': cannot build '> ($ Id.VSub_DollarName xref) <' cross-reference'> ) } ) ] ) (C {<timeinfo>} { (DQ ($ Id.VSub_DollarName reldir) <': built '> ($ Id.VSub_DollarName xref) <' cross-reference'> ) } ) ] ) redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {($ Id.VSub_DollarName MAKE)} {<-e>} {<-f>} {($ Id.VSub_DollarName XREFMK)} {<xref.clean>} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<warn>} {(DQ ($ Id.VSub_DollarName reldir) <': cannot clean up temporary files'>)}) ] ) (command.Simple words: [{<cd>} {<->}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] more_env: [] do_fork: T ) ] ) redirects: [] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )