| `Warning -> HLog.warn
| `Debug -> HLog.debug
| `Message -> HLog.message
-;;
type development =
{ root: string ; name: string }
let makefile_for_development devel =
let develdir = pool () ^ devel.name in
develdir ^ "/makefile"
-;;
+
+let dot_for_development devel =
+ let dot_fname = pool () ^ devel.name ^ "/depend.dot" in
+ if Sys.file_exists dot_fname then Some dot_fname else None
(* given a dir finds a development that is radicated in it or below *)
let development_for_dir dir =
try
Some (List.find (fun d -> is_prefix_of d.root dir) !developments)
with Not_found -> None
-;;
let development_for_name name =
try
let devel_dir = pool () ^ devel.name in
HExtlib.mkdir devel_dir;
HExtlib.output_file ~filename:(devel_dir ^ rootfile) ~text:devel.root
-;;
let list_known_developments () =
List.map (fun r -> r.name,r.root) !developments
let build_development_in_bg ?matita_flags ?(target="all") refresh_cb development =
call_make ?matita_flags development target (mk_maker refresh_cb)
-;;
let clean_development ?matita_flags development =
call_make ?matita_flags development "clean" make