let fst4 = function (x,_,_,_) -> x;;
 
   let modified_before_s_t (_,cs, ct, _, _) a b = 
+(*    
+    time_stamp ("L s_t: a " ^ F.string_of_source_object a);
+    time_stamp ("L s_t: b " ^ F.string_of_target_object b);
+*)
     let a = try Hashtbl.find cs a with Not_found -> assert false in
     let b = 
       try
            | x -> x
       with Not_found -> assert false
     in
-    match a, b with 
+    let r = match a, b with 
        | Some a, Some b -> a <= b
        | _ -> false
-  ;;
-
-  let modified_before_t_t (_,_,ct, _, _) a b = 
+    in
+(*    
+    time_stamp ("L s_t: " ^ string_of_bool r);
+*)    
+    r
+
+  let modified_before_t_t (_,_,ct, _, _) a b =
+(*    
+    time_stamp ("L t_t: a " ^ F.string_of_target_object a);
+    time_stamp ("L t_t: b " ^ F.string_of_target_object b);
+*) 
     let a = 
       try
         match Hashtbl.find ct a with
            | x -> x
       with Not_found -> assert false
     in
-    match a, b with
-    | Some a, Some b ->
-       a <= b
-    | _ -> false
-  ;;
+    let r = match a, b with
+       | Some a, Some b ->
+(*       
+       time_stamp ("tt: a " ^ string_of_float a);
+       time_stamp ("tt: b " ^ string_of_float b);
+*)       
+          a <= b
+       | _ -> false
+    in
+(*    
+    time_stamp ("L t_t: " ^ string_of_bool r);
+*)    
+    r
 
   let rec purge_unwanted_roots wanted deps =
     let roots, rest = 
        let r = make_one root opts okd whatd in 
        r, okt && modified_before_t_t opts tgtd tgt
     in
+    time_stamp ("L : processing " ^ str);
     try 
        let r = Hashtbl.find cc t in
+       time_stamp ("L : " ^ string_of_bool r ^ " " ^ str);
        ok && r
 (* say "already built" *)
     with Not_found ->
                 HLog.error ("No root for: " ^ str); false
           else false
        in
+       time_stamp ("L : " ^ string_of_bool res ^ " " ^ str);
        Hashtbl.add cc t res; ok && res
 
 (****************************************************************************)