+let clean_first = ref false
+let otarget = List.fold_left (fun acc t ->
+ if t = "clean" || t = "-clean" then (clean_first := true; acc)
+ else
+ let t =
+ if Filename.check_suffix t ".otarget" then
+ file_content ((Filename.chop_suffix t ".otarget") ^ ".itarget")
+ else t
+ in
+ t ^ " " ^ acc) "" (if (!target == []) then [ "main.otarget" ] else !target)