#!/bin/env kkc al = Alloc.idc() args = Args.get() first-arg = args Slice.try-get(0) full-reinstall = first-arg == Just('reinstall') if first-arg == Just('clean') or full-reinstall 'rm -f kd kd.c' Sh.run(al) if not full-reinstall return 0 if 'kd' deps(['src']) or full-reinstall 'kkc --backend c --dont-compile src/kd.kkc' Sh.run(al) 'cc -O2 kd.c -o kd' Sh.run(al) if first-arg == Just('install') or full-reinstall home = Env.get('HOME') or-fail('no $HOME defined!?') target = '\(home)/.local/bin' 'cp kd \(target)' Sh.run(al) println('copied executable to \(target)')