val find_root: string -> string
-val parse_root: string -> (string*string) list
+(* val parse_root: string -> (string*string) list *)
(* baseuri_of_script ?(inc:REG[matita.includes]) fname
* ->
* sample: baseuri_of_script a.ma -> /home/pippo/devel/, cic:/matita/a,
* /home/pippo/devel/a.ma *)
val baseuri_of_script:
- ?include_paths:string list -> string -> string * string * string * string
+ include_paths:string list -> string -> string * string * string * string
(* finds all the roots files in the specified dir *)
val find_roots_in_dir: string -> string list
+
+(* make *)
+type options = (string * string) list
+
+module type Format =
+ sig
+ type source_object
+ type target_object
+ val load_deps_file: string -> (source_object * source_object list) list
+ val target_of: options -> source_object -> target_object
+ val string_of_source_object: source_object -> string
+ val string_of_target_object: target_object -> string
+ val build: options -> source_object -> bool
+ val root_of: options -> source_object -> string option
+ val mtime_of_source_object: source_object -> float option
+ val mtime_of_target_object: target_object -> float option
+ end
+
+module Make :
+ functor (F : Format) ->
+ sig
+ (* make [root dir] [targets], targets = [] means make all *)
+ val make : string -> F.source_object list -> bool
+ end
+
+val load_deps_file: string -> (string * string list) list
+val write_deps_file: string -> (string * string list) list -> unit