def exec.make

ezx@1.11.0.0 · src/tool/run.bend:201

import ezx@1.11.0.0/src/tool/run.bend as Run
import Base
import ezx@1.11.0.0/src/lock/run.bend as Run
import ezx@1.11.0.0/src/share/say.bend as Say
import ezx@1.11.0.0/src/share/spin.bend as Spin
import ezx@1.11.0.0/src/tool/plan.bend as TP

201# the binary: its library filled, the file built, the record written; or the
202# one there reused
203def exec.make(making: TP.Make) -> IO(Unit):
204  match making:
205    case TP.Skip{}:
206      IO.pure(Unit, Unit{})
207    case TP.Reuse{name}:
208      IO.print_err(Say.reused(name))
209    case TP.Make{+top, +lib, fetch, file, out, at, key, +name}:
210      do IO<Unit>:
211        exec.lib(fetch, top, lib)
212        +s : Say.Spin <- Spin.hold(Say.building(name))
213        compile(lib, file, out)
214        Spin.done(s)
215        Run.write(at, key)

Uses (14)

Used by (1)