X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FmatitamakeLib.ml;h=6e0d5660cd62148b2cade6a99410495da25fad48;hb=3f2e93e2751e2bce2518502933b7169f99f2dbeb;hp=8dc45faaaff1d75877d93d83ac699b3e42303a4f;hpb=7c0db1e564918026d56e81163b4f1e4aee649055;p=helm.git diff --git a/helm/matita/matitamakeLib.ml b/helm/matita/matitamakeLib.ml index 8dc45faaa..6e0d5660c 100644 --- a/helm/matita/matitamakeLib.ml +++ b/helm/matita/matitamakeLib.ml @@ -125,17 +125,16 @@ let rebuild_makefile development = let rm = BuildTimeConf.runtime_base_dir ^ "/matitaclean" ^ am_i_opt () in let mm = BuildTimeConf.runtime_base_dir ^ "/matitadep" ^ am_i_opt () in let df = pool () ^ development.name ^ "/depend" in - let dfs = pool () ^ development.name ^ "/depend.short" in let template = Pcre.replace ~pat:"@ROOT@" ~templ:development.root template in let template = Pcre.replace ~pat:"@CC@" ~templ:cc template in let template = Pcre.replace ~pat:"@DEP@" ~templ:mm template in let template = Pcre.replace ~pat:"@DEPFILE@" ~templ:df template in - let template = Pcre.replace ~pat:"@DEPFILESHORT@" ~templ:dfs template in let template = Pcre.replace ~pat:"@CLEAN@" ~templ:rm template in MatitaMisc.output_file template makefilepath (* creates a new development if possible *) let initialize_development name dir = + let name = Pcre.replace ~pat:" " ~templ:"_" name in let dev = {name = name ; root = dir} in match development_for_dir dir with | Some d -> @@ -156,7 +155,10 @@ let make chdir args = let old = Unix.getcwd () in try Unix.chdir chdir; - let rc = Unix.system (String.concat " " ("make"::args)) in + let rc = + Unix.system + (String.concat " " ("make"::(List.map Filename.quote args))) + in Unix.chdir old; match rc with | Unix.WEXITED 0 -> true @@ -249,7 +251,7 @@ let clean_development development = let clean_development_in_bg refresh_cb development = call_make development "clean" (mk_maker refresh_cb) -let destroy_development development = +let destroy_development_aux development clean_development = let delete_development development = let unlink file = try @@ -269,7 +271,6 @@ let destroy_development development = unlink (makefile_for_development development); unlink (pool () ^ development.name ^ rootfile); unlink (pool () ^ development.name ^ "/depend"); - unlink (pool () ^ development.name ^ "/depend.short"); rmdir (pool () ^ development.name); developments := List.filter (fun d -> d.name <> development.name) !developments @@ -280,6 +281,12 @@ let destroy_development development = logger `Warning "This may cause garbage." end; delete_development development + +let destroy_development development = + destroy_development_aux development clean_development + +let destroy_development_in_bg refresh development = + destroy_development_aux development (clean_development_in_bg refresh) let root_for_development development = development.root let name_for_development development = development.name