about summary refs log tree commit diff stats
path: root/tools
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-02-09 21:12:41 -0800
committerKartik Agaram <vc@akkartik.com>2020-02-09 21:12:41 -0800
commit6a28260f199f3676b911ce0dc422d39f415b2bec (patch)
tree5a27786066934d1cefa6a0fcae635654ae0120f6 /tools
parent8fa733606c692a9dc3ff159fc4acc327573bd0e2 (diff)
downloadmu-6a28260f199f3676b911ce0dc422d39f415b2bec.tar.gz
6003
Diffstat (limited to 'tools')
-rwxr-xr-xtools/treeshake_all19
1 files changed, 15 insertions, 4 deletions
diff --git a/tools/treeshake_all b/tools/treeshake_all
index 611231fe..bdf14c90 100755
--- a/tools/treeshake_all
+++ b/tools/treeshake_all
@@ -11,17 +11,28 @@ set -e
 
 export OS=${OS:-linux}
 
+process() {
+  app=$1
+  tools/treeshake_translate init.$OS 0*.subx apps/subx-params.subx apps/$app.subx
+  echo "LoC $(cat apps/$app.subx |wc -l) => $(grep -vh '^\s*$\|^\s*#' apps/$app.subx |tools/treeshake |wc -l)"
+  echo "LoC including common libraries: $(cat a.in |wc -l) => $(cat a.treeshake |wc -l)"
+  echo "binary size: $(ls -lh apps/$app |column 5) => $(ls -lh a.elf |column 5)"
+}
+
+if [ $# -gt 0 ]
+then
+  process $1
+  exit 0
+fi
+
 echo "== deleting dead code"
 for app in factorial crenshaw2-1 crenshaw2-1b handle hex survey pack dquotes assort tests sigils calls braces
 do
   echo "- $app"
-  tools/treeshake_translate init.$OS 0*.subx apps/subx-params.subx apps/$app.subx
+  process $app
   mv a.in apps/$app.in
   mv a.treeshake apps/$app.treeshake
-  echo "LoC $(cat apps/$app.subx |wc -l) => $(grep -vh '^\s*$\|^\s*#' apps/$app.subx |tools/treeshake |wc -l)"
-  echo "LoC including common libraries: $(cat apps/$app.in |wc -l) => $(cat apps/$app.treeshake |wc -l)"
   mv a.elf apps/$app.treeshake.bin
-  echo "binary size: $(ls -lh apps/$app |column 5) => $(ls -lh apps/$app.treeshake.bin |column 5)"
 done
 
 echo "== testing treeshaken binaries"