-let usage () =
- prerr_endline "";
- prerr_endline "usage:";
- prerr_endline "\tmatitaclean all";
- prerr_endline "\t\tcleans the whole environment";
- prerr_endline "\tmatitaclean files...";
- prerr_endline "\t\tcleans the output of the compilation of files...\n";
- prerr_endline "";
- exit 1
-
-let _ =
- if Array.length Sys.argv < 2 then usage ();
- if Sys.argv.(1) = "all" then
- begin
- MatitaDb.clean_owner_environment ();
- exit 0
- end
- let uris_to_remove =ref [] in
- let files_to_remove =ref [] in
- (try
- for i = 1 to Array.length Sys.argv - 1 do
- let suri = Sys.argv.(i) in
- let uri =
- try
- UM.buri_of_uri (UM.uri_of_string suri)
- with
- UM.IllFormedUri _ ->
- files_to_remove := suri :: !files_to_remove;
- let u = MatitaMisc.baseuri_of_file suri in
- if String.length u < 5 || String.sub u 0 5 <> "cic:/" then
- begin
- MatitaLog.error ("File " ^ suri ^ " defines a bad baseuri: "^u);
- exit 1
- end
- else
- u
- in
- uris_to_remove := uri :: !uris_to_remove
- done
- with
- Invalid_argument _ -> usage ());
- main !uris_to_remove;
- let moos = List.map MatitaMisc.obj_file_of_script !files_to_remove in
- List.iter MatitaMisc.safe_remove moos