type env = Pathname.t -> Pathname.ttype builder = Pathname.t list list -> (Pathname.t, exn) My_std.Outcome.t listtype action = env -> builder -> Command.ttype 'a gen_ruletype rule = Pathname.t gen_ruletype rule_scheme = Resource.resource_pattern gen_ruletype 'a rule_printer = (Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> 'a gen_rule -> unit
exception Failed
val name_of_rule : 'a gen_rule -> stringval deps_of_rule : 'a gen_rule -> Pathname.t listval prods_of_rule : 'a gen_rule -> 'a listval doc_of_rule : 'a gen_rule -> string optionval rule : string -> ?tags:string list -> ?prods:string list -> ?deps:string list -> ?prod:string -> ?dep:string -> ?stamp:string -> ?insert:[ `after of string | `before of string | `bottom | `top ] -> ?doc:string -> action -> unitval copy_rule : string -> ?insert:[ `after of string | `before of string | `bottom | `top ] -> string -> string -> unit
val print : Stdlib.Format.formatter -> rule -> unitval pretty_print : 'a rule_printerval subst : Resource.env -> rule_scheme -> ruleval can_produce : Pathname.t -> rule_scheme -> rule optionval compare : 'a gen_rule -> 'a gen_rule -> intval print_rule_name : Stdlib.Format.formatter -> 'a gen_rule -> unitval print_rule_contents : 'a rule_printerval get_rules : unit -> rule_scheme listval clear_rules : unit -> unitval call : builder -> rule -> unitval build_deps_of_tags : builder -> Tags.t -> Pathname.t listval show_documentation : unit -> unit