(List (= scope= flags=1 words=[] bindings=[('LANG', {[LIT_CHARS c]})]) (= scope= flags=1 words=[] bindings=[('LC_ALL', {[LIT_CHARS C]})]) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS pipefail]} ) (Com {[LIT_CHARS source]} {[LIT_CHARS ./configure]} ) (= scope= flags=0 words=[] bindings=[('OUTNAME', {[VarSub 1 test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS toybox]}]})]) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub KCONFIG_CONFIG]]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('KCONFIG_CONFIG', {[DQ [LIT_CHARS .config]]})]) ) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub CPUS]]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('CPUS', {[ArithSub {A2 AS_OP_SLASH {A2 AS_OP_STAR {A Atom NODE_ARITH_WORD {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[LIT_CHARS /sys/devices/system/cpu/cpu] [LIT_DBRACKET_LIKE "["] [LIT_CHARS 0-9] [LIT_DBRACKET_LIKE "]"] [LIT_OTHER "*"]}) (Com {[LIT_CHARS wc]} {[LIT_CHARS -w]}) )]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 3]}}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 2]}}}]})]) ) (= scope= flags=0 words=[] bindings=[('DOTPROG', {[SQ ]})]) (FunctionDef do_loudly [] (List (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [VarSub V]]} {[LIT_DBRACKET_LIKE "]"]} ) (AndOr OP_OR_IF (Com {[LIT_CHARS echo]} {[DQ [VarSub @]]} ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [VarSub DOTPROG]]} ) ) ) (Com {[DQ [VarSub @]]} ) ) ) (FunctionDef isnewer [] (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [ComSub (AndOr OP_OR_IF (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS find]} {[DQ [VarSub 2]]} {[LIT_CHARS -newer]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS yes]}) )]]} {[LIT_DBRACKET_LIKE "]"]} ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Generate headers from toys/*/*.c..."]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS generated]} ) (If (Com {[LIT_CHARS isnewer]} {[LIT_CHARS generated/Config.in]} {[LIT_CHARS toys]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Extract configuration information from toys/*.c files..."]]} ) (Com {[LIT_CHARS scripts/genconfig.sh]} ) ) ) (If (Com {[LIT_CHARS isnewer]} {[LIT_CHARS generated/newtoys.h]} {[LIT_CHARS toys]} ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "generated/newtoys.h "]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "USE_TOYBOX(NEWTOY(toybox, NULL, TOYFLAG_STAYROOT))"]]} < (FilenameRedirectNode filename={[LIT_CHARS generated/newtoys.h]} "> 1), > ) (AndOr OP_OR_IF (Pipeline (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS toys/] [LIT_OTHER "*"] [LIT_CHARS /] [LIT_OTHER "*"] [LIT_CHARS .c]} ) (Com {[LIT_CHARS sed]} {[SQ ]} ) (Com {[LIT_CHARS sort]} {[LIT_CHARS -s]} {[LIT_CHARS -k]} {[LIT_CHARS 1] [LIT_COMMA ","] [LIT_CHARS 1]} ) (Com {[LIT_CHARS sed]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS generated/newtoys.h]} >"> 1), > ) ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) ) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [VarSub V]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Which C files to build..."]]} ) ) (= scope= flags=0 words=[] bindings=[('GITHASH', {[DQ [ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS describe]} {[LIT_CHARS --tags]} {[LIT_CHARS --abbrev] [LIT_DBRACKET_LIKE "="] [LIT_CHARS 12]})]]})]) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [VarSub GITHASH]]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('GITHASH', {[DQ [LIT_CHARS "-DTOYBOX_VERSION="][\ LIT_ESCAPED_CHAR "\\\""][VarSub GITHASH][\ LIT_ESCAPED_CHAR "\\\""]]})]) ) (= scope= flags=0 words=[] bindings=[('TOYFILES', {[DQ [ComSub (Pipeline (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[SQ ]} {[DQ [VarSub KCONFIG_CONFIG]]}) (Com {[LIT_CHARS xargs]}) (Com {[LIT_CHARS tr]} {[SQ ]} {[SQ ]}) )]]})]) (= scope= flags=0 words=[] bindings=[('TOYFILES', {[DQ [ComSub (Com {[LIT_CHARS egrep]} {[LIT_CHARS -l]} {[DQ [LIT_CHARS "TOY[(]("][VarSub TOYFILES][LIT_CHARS ")[ ,]"]]} {[LIT_CHARS toys/] [LIT_OTHER "*"] [LIT_CHARS /] [LIT_OTHER "*"] [LIT_CHARS .c]})]]})]) (= scope= flags=0 words=[] bindings=[('CFLAGS', {[DQ [VarSub CFLAGS][LIT_CHARS " "][ComSub (Com {[LIT_CHARS cat]} {[LIT_CHARS generated/cflags]})]]})]) (= scope= flags=0 words=[] bindings=[('BUILD', {[DQ [ComSub (Com {[LIT_CHARS echo]} {[VarSub CROSS_COMPILE] [VarSub CC]} {[VarSub CFLAGS]} {[LIT_CHARS -I]} {[LIT_CHARS .]} {[VarSub OPTIMIZE]} {[VarSub GITHASH]})]]})]) (= scope= flags=0 words=[] bindings=[('FILES', {[DQ [ComSub (Com {[LIT_CHARS echo]} {[LIT_CHARS lib/] [LIT_OTHER "*"] [LIT_CHARS .c]} {[LIT_CHARS main.c]} {[VarSub TOYFILES]})]]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub TOYFILES transform_ops=[PatSub {[LIT_CHARS pending]} {[LIT_SLASH /]}]]]} {[LIT_NEQUAL "!="]} {[DQ [VarSub TOYFILES]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[DQ [\ LIT_ESCAPED_CHAR "\\n"][\ LIT_ESCAPED_CHAR "\\0"][LIT_CHARS "33[1;31mwarning: using unfinished code from toys/pending"][\ LIT_ESCAPED_CHAR "\\0"][LIT_CHARS "33[0m"]]} ) ) (FunctionDef genbuildsh [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "#!/bin/sh"]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "BUILD="][\ LIT_ESCAPED_CHAR "\\\""][VarSub BUILD][\ LIT_ESCAPED_CHAR "\\\""]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "FILES="][\ LIT_ESCAPED_CHAR "\\\""][VarSub FILES][\ LIT_ESCAPED_CHAR "\\\""]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "LINK="][\ LIT_ESCAPED_CHAR "\\\""][VarSub LINK][\ LIT_ESCAPED_CHAR "\\\""]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[SQ ]} ) ) ) (If (Pipeline! (Com {[LIT_CHARS cmp]} {[LIT_CHARS -s]} {[ComSub (Pipeline (Com {[LIT_CHARS genbuildsh]}) (Com {[LIT_CHARS head]} {[LIT_CHARS -n]} {[LIT_CHARS 3]}) )]} {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS head]} {[LIT_CHARS -n]} {[LIT_CHARS 3]} {[LIT_CHARS generated/build.sh]})]} ) ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "Library probe"]]} ) (Com < (FilenameRedirectNode filename={[LIT_CHARS generated/optlibs.dat]} "> 1), > ) (For i [{[LIT_CHARS util]}, {[LIT_CHARS crypt]}, {[LIT_CHARS m]}, {[LIT_CHARS resolv]}, {[LIT_CHARS selinux]}, {[LIT_CHARS smack]}, {[LIT_CHARS attr]}, {[LIT_CHARS rt]}]) (List (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "int main(int argc, char *argv[]) {return 0;}"]]} ) (Com {[VarSub CROSS_COMPILE] [VarSub CC]} {[VarSub CFLAGS]} {[LIT_CHARS -xc]} {[LIT_CHARS -]} {[LIT_CHARS -o]} {[LIT_CHARS generated/libprobe]} {[LIT_CHARS -Wl] [LIT_COMMA ","] [LIT_CHARS --as-needed]} {[LIT_CHARS -l] [VarSub i]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -l] [VarSub i]} < (FilenameRedirectNode filename={[LIT_CHARS generated/optlibs.dat]} >"> 1), > ) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[LIT_CHARS .]} ) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS generated/libprobe]} ) (Com {[LIT_CHARS echo]} ) ) ) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub NOSTRIP]]} {[LIT_DBRACKET_LIKE "]"]} ) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('LINKOUT', {[VarSub OUTNAME] [LIT_CHARS _unstripped]})]) (= scope= flags=0 words=[] bindings=[('LINKOUT', {[VarSub OUTNAME]})]) ) ) (= scope= flags=0 words=[] bindings=[('LINK', {[DQ [ComSub (Com {[LIT_CHARS echo]} {[VarSub LDOPTIMIZE]} {[VarSub LDFLAGS]} {[LIT_CHARS -o]} {[VarSub LINKOUT]} {[LIT_CHARS -Wl] [LIT_COMMA ","] [LIT_CHARS --as-needed]} {[ComSub (Com {[LIT_CHARS cat]} {[LIT_CHARS generated/optlibs.dat]})]})]]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS genbuildsh]} < (FilenameRedirectNode filename={[LIT_CHARS generated/build.sh]} "> 1), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[LIT_CHARS generated/build.sh]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Make generated/config.h from "][VarSub KCONFIG_CONFIG][LIT_CHARS .]]} ) (AndOr OP_OR_IF (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[VarSub KCONFIG_CONFIG]} < (FilenameRedirectNode filename={[LIT_CHARS generated/config.h]} "> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS generated/mkflags]} {[LIT_CHARS -ot]} {[LIT_CHARS scripts/mkflags.c]} {[LIT_DBRACKET_LIKE "]"]} ) (AndOr OP_OR_IF (Com {[LIT_CHARS do_loudly]} {[VarSub HOSTCC]} {[LIT_CHARS scripts/mkflags.c]} {[LIT_CHARS -o]} {[LIT_CHARS generated/mkflags]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "generated/flags.h "]]} ) (AndOr OP_OR_IF (Pipeline (For I [{[LIT_CHARS A]}, {[LIT_CHARS B]}]) (Pipeline (Subshell (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "#define NEWTOY(aa,bb,cc) aa "][VarSub I][LIT_CHARS " bb"]]} ) (Com {[LIT_CHARS echo]} {[SQ ]} ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub I]]} {[LIT_DBRACKET_LIKE "=="]} {[LIT_CHARS A]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS cat]} {[LIT_CHARS generated/config.h]} ) (ElseTrue) (Com {[LIT_CHARS sed]} {[SQ ]} {[LIT_CHARS generated/config.h]} ) ) (Com {[LIT_CHARS cat]} {[LIT_CHARS generated/newtoys.h]} ) ) ) (Com {[VarSub CROSS_COMPILE] [VarSub CC]} {[LIT_CHARS -E]} {[LIT_CHARS -]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[LIT_CHARS -e]} {[SQ ]} ) ) ) (Com {[LIT_CHARS sort]} {[LIT_CHARS -s]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[SQ ]} ) (Com {[LIT_CHARS tee]} {[LIT_CHARS generated/flags.raw]} ) (Com {[LIT_CHARS generated/mkflags]} < (FilenameRedirectNode filename={[LIT_CHARS generated/flags.h]} "> 1), > ) ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) (FunctionDef getglobals [] (For i [{[LIT_CHARS toys/] [LIT_OTHER "*"] [LIT_CHARS /] [LIT_OTHER "*"] [LIT_CHARS .c]}]) (List (= scope= flags=0 words=[] bindings=[('NAME', {[DQ [ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub i]}) (Com {[LIT_CHARS sed]} {[SQ ]}) )]]})]) (= scope= flags=0 words=[] bindings=[('DATA', {[DQ [ComSub (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ] [DQ [VarSub NAME]] [SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[VarSub i]})]]})]) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [VarSub DATA]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "// "][VarSub i][\ LIT_ESCAPED_CHAR "\\n"][\ LIT_ESCAPED_CHAR "\\n"][VarSub DATA][\ LIT_ESCAPED_CHAR "\\n"]]} ) ) ) ) ) (If (Com {[LIT_CHARS isnewer]} {[LIT_CHARS generated/globals.h]} {[LIT_CHARS toys]} ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "generated/globals.h "]]} ) (= scope= flags=0 words=[] bindings=[('GLOBSTRUCT', {[DQ [ComSub (Com {[LIT_CHARS getglobals]})]]})]) (Subshell (List (Com {[LIT_CHARS echo]} {[DQ [VarSub GLOBSTRUCT]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "extern union global_union {"]]} ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub GLOBSTRUCT]]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[SQ ]} ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "} this;"]]} ) ) ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS generated/mktags]} {[LIT_CHARS -ot]} {[LIT_CHARS scripts/mktags.c]} {[LIT_DBRACKET_LIKE "]"]} ) (AndOr OP_OR_IF (Com {[LIT_CHARS do_loudly]} {[VarSub HOSTCC]} {[LIT_CHARS scripts/mktags.c]} {[LIT_CHARS -o]} {[LIT_CHARS generated/mktags]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (Com {[LIT_CHARS isnewer]} {[LIT_CHARS generated/tags.h]} {[LIT_CHARS toys]} ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "generated/tags.h "]]} ) (Pipeline (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[SQ ]} {[LIT_CHARS toys/] [LIT_OTHER "*"] [LIT_CHARS /] [LIT_OTHER "*"] [LIT_CHARS .c]} {[LIT_CHARS lib/] [LIT_OTHER "*"] [LIT_CHARS .c]} ) (Com {[LIT_CHARS generated/mktags]} < (FilenameRedirectNode filename={[LIT_CHARS generated/tags.h]} "> 1), > ) ) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS generated/help.h]]} ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS generated/config2help]} {[LIT_CHARS -ot]} {[LIT_CHARS scripts/config2help.c]} {[LIT_DBRACKET_LIKE "]"]} ) (AndOr OP_OR_IF (Com {[LIT_CHARS do_loudly]} {[VarSub HOSTCC]} {[LIT_CHARS scripts/config2help.c]} {[LIT_CHARS -I]} {[LIT_CHARS .]} {[LIT_CHARS lib/xwrap.c]} {[LIT_CHARS lib/llist.c]} {[LIT_CHARS lib/lib.c]} {[LIT_CHARS lib/portability.c]} {[LIT_CHARS -o]} {[LIT_CHARS generated/config2help]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS generated/config2help]} {[LIT_CHARS Config.in]} {[VarSub KCONFIG_CONFIG]} < (FilenameRedirectNode filename={[LIT_CHARS generated/help.h]} "> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [VarSub NOBUILD]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]} ) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "Compile toybox"]]} ) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [VarSub V]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS echo]} ) ) (= scope= flags=0 words=[] bindings=[('DOTPROG', {[LIT_CHARS .]})]) (= scope= flags=0 words=[] bindings=[('DIR_ID', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub CC][LIT_CHARS " "][VarSub CFLAGS]]}) (Com {[LIT_CHARS md5sum]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -d] [SQ ]} {[LIT_CHARS -f1]}) )]})]) (= scope= flags=0 words=[] bindings=[('OBJDIR', {[DQ [LIT_CHARS generated/obj-][VarSub DIR_ID]]})]) (= scope= flags=0 words=[] bindings=[('X', {[DQ [ComSub (Pipeline (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS ls]} {[LIT_CHARS -1t]} {[VarSub OBJDIR] [LIT_CHARS /] [LIT_OTHER "*"]}) (Com {[LIT_CHARS tail]} {[LIT_CHARS -n]} {[LIT_CHARS 1]}) )]]})]) (If (AndOr OP_OR_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -e]} {[DQ [VarSub X]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -z]} {[DQ [ComSub (Com {[LIT_CHARS find]} {[LIT_CHARS toys]} {[LIT_CHARS -name]} {[DQ [LIT_CHARS "*.h"]]} {[LIT_CHARS -newer]} {[DQ [VarSub X]]})]]} {[LIT_DBRACKET_LIKE "]"]} ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub OBJDIR]} ) (AndOr OP_OR_IF (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub OBJDIR]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (ElseTrue) (AndOr OP_OR_IF (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub OBJDIR] [LIT_CHARS /] [LIT_LBRACE "{"] [LIT_CHARS main] [LIT_COMMA ","] [LIT_CHARS lib_help] [LIT_RBRACE "}"] [LIT_CHARS .o]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (= scope= flags=0 words=[] bindings=[('PENDING', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('LFILES', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('DONE', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('COUNT', {[LIT_CHARS 0]})]) (For i [{[VarSub FILES]}]) (List (= scope= flags=0 words=[] bindings=[('X', {[VarSub i transform_ops=[PatSub {[LIT_CHARS lib] [\ LIT_ESCAPED_CHAR "\\/"]} {[LIT_CHARS lib_]}]]})]) (= scope= flags=0 words=[] bindings=[('X', {[VarSub X transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_SLASH /]}]]})]) (= scope= flags=0 words=[] bindings=[('OUT', {[DQ [VarSub OBJDIR][LIT_CHARS /][VarSub X transform_ops=[VS_UNARY_DPERCENT {[LIT_CHARS .c]}]][LIT_CHARS .o]]})]) (= scope= flags=0 words=[] bindings=[('LFILES', {[DQ [VarSub LFILES][LIT_CHARS " "][VarSub OUT]]})]) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub OUT]]} {[LIT_CHARS -nt]} {[DQ [VarSub i]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS continue]} ) ) (Fork (Com {[LIT_CHARS do_loudly]} {[VarSub BUILD]} {[LIT_CHARS -c]} {[VarSub i]} {[LIT_CHARS -o]} {[VarSub OUT]} ) ) (= scope= flags=0 words=[] bindings=[('PENDING', {[DQ [VarSub PENDING][LIT_CHARS " "][VarSub !]]})]) (= scope= flags=0 words=[] bindings=[('COUNT', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub COUNT]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (For j [{[VarSub PENDING]}]) (List (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub COUNT]]} {[LIT_CHARS -lt]} {[DQ [VarSub CPUS]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS break]} ) ) (Com {[LIT_CHARS wait]} {[VarSub j]} ) (= scope= flags=0 words=[] bindings=[('DONE', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub DONE]}} {A Atom NODE_ARITH_WORD {[VarSub ?]}}}]})]) (= scope= flags=0 words=[] bindings=[('COUNT', {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub COUNT]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (= scope= flags=0 words=[] bindings=[('PENDING', {[DQ [VarSub PENDING transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS " "] [VarSub j]}]]]})]) ) ) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub DONE]} {[LIT_CHARS -ne]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS break]} ) ) ) ) (For i [{[VarSub PENDING]}]) (List (Com {[LIT_CHARS wait]} {[VarSub i]} ) (= scope= flags=0 words=[] bindings=[('DONE', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub DONE]}} {A Atom NODE_ARITH_WORD {[VarSub ?]}}}]})]) ) ) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub DONE]} {[LIT_CHARS -ne]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS do_loudly]} {[VarSub BUILD]} {[VarSub LFILES]} {[VarSub LINK]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub NOSTRIP]]} {[LIT_DBRACKET_LIKE "]"]} ) (If (Pipeline! (Com {[LIT_CHARS do_loudly]} {[VarSub CROSS_COMPILE] [LIT_CHARS strip]} {[VarSub OUTNAME] [LIT_CHARS _unstripped]} {[LIT_CHARS -o]} {[VarSub OUTNAME]} ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "strip failed, using unstripped"]]} ) (AndOr OP_OR_IF (Com {[LIT_CHARS cp]} {[VarSub OUTNAME] [LIT_CHARS _unstripped]} {[VarSub OUTNAME]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS do_loudly]} {[LIT_CHARS chmod]} {[LIT_CHARS 555]} {[VarSub OUTNAME]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) (Com {[LIT_CHARS echo]} ) )