let debug = ref false
let profile = ref false
let verbose = ref false
+let trace = ref false
let dir = Sys.getcwd ()
let project_root = Filename.dirname Sys.argv.(0)
| "-d" -> debug := true
| "-p" -> profile := true
| "-v" -> verbose := true
+ | "-t" -> trace := true
| x -> target := x :: !target
done
-
+let otrace = if !trace then " -tag htmltrace " else ""
let oprofile = if !profile then " -tag profile " else ""
-let odebug = if !profile then " -tag debug " else ""
+let odebug = if !debug then " -tag debug " else ""
let clean_first = ref false
+let () =
+ Sys.chdir project_root;
+ Printf.printf "Entering directory `%s'\n%!" project_root
+
let otarget = List.fold_left (fun acc t ->
if t = "clean" || t = "-clean" then (clean_first := true; acc)
else
in
t ^ " " ^ acc) "" (if (!target == []) then [ "main.otarget" ] else !target)
let overbose = if !verbose then " -classic-display " else ""
-let () =
- Sys.chdir project_root;
- Printf.printf "Entering directory `%s'\n%!" project_root
let clean_cmd = if !clean_first then "ocamlbuild -clean;" else ""
let build_cmd = if otarget = "" then "" else
- Printf.sprintf "ocamlbuild -use-ocamlfind %s %s %s %s"
- overbose oprofile odebug otarget
+ Printf.sprintf "ocamlbuild -use-ocamlfind %s %s %s %s %s"
+ overbose otrace oprofile odebug otarget
let i = Sys.command (clean_cmd ^ build_cmd)
let () = Sys.chdir dir;
Printf.printf "Leaving directory `%s'\n%!" project_root