Rule.t
supports the description of build-rules in jenga.
Two varieties:
Alias.t
to stand for some dependencies.Action.t
.An alias-rule is constructed by alias
of which default
is a useful special case.
A target-rule is constructed by create
.
Target-rule.t
allows the description of dynamic build rules: Although the targets
must be static, the dependencies and action may be contingent on further dependencies.
This is achieved by constructing a target-rule from a value of type: Action.t Dep.t
Make-style rule-triples are a trivial special case, and can be constructed using the
convenience wrapper simple
, defined as:
let simple ~targets ~deps ~action = create ~targets ( Dep.all_unit deps *>>| fun () -> action )
module Target_rule : sig ... end
include sig ... end
val sexp_of_t : t ‑> Sexplib.Sexp.t
val targets : t ‑> Path.Rel.t list