projects
/
tatoo.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add a new test case.
[tatoo.git]
/
build
diff --git
a/build
b/build
index
ed3876a
..
d5eb3a5
100755
(executable)
--- a/
build
+++ b/
build
@@
-1,24
+1,36
@@
#!/usr/bin/env ocaml
#!/usr/bin/env ocaml
-let target = ref
"main.otarget"
+let target = ref
[ "main.otarget" ]
let debug = ref false
let profile = ref false
let verbose = ref false
let debug = ref false
let profile = ref false
let verbose = ref false
+let dir = Sys.getcwd ()
+let project_root = Filename.dirname Sys.argv.(0)
+
let () =
for i = 1 to Array.length Sys.argv - 1 do
match Sys.argv.(i) with
| "-d" -> debug := true
| "-p" -> profile := true
| "-v" -> verbose := true
let () =
for i = 1 to Array.length Sys.argv - 1 do
match Sys.argv.(i) with
| "-d" -> debug := true
| "-p" -> profile := true
| "-v" -> verbose := true
- | x -> target := x
+ | x -> target := x
:: !target
done
let oprofile = if !profile then " -tag profile " else ""
let odebug = if !profile then " -tag debug " else ""
done
let oprofile = if !profile then " -tag profile " else ""
let odebug = if !profile then " -tag debug " else ""
-let otarget = if !target = "clean" then " -clean " else !target
+let otarget = List.fold_left (fun acc t ->
+ let t = if t = "clean" then "-clean" else t in
+ t ^ " " ^ acc) "" !target
let overbose = if !verbose then " -classic-display " else ""
let overbose = if !verbose then " -classic-display " else ""
+let () =
+ Sys.chdir project_root;
+ Printf.printf "Entering directory `%s'\n%!" project_root
-let cmd = "ocamlbuild -use-ocamlfind " ^ overbose ^ oprofile ^ odebug ^ otarget
-let _ = Sys.command cmd
+let cmd = Printf.sprintf "ocamlbuild -use-ocamlfind %s %s %s %s"
+ overbose oprofile odebug otarget
+let i = Sys.command cmd
+let () = Sys.chdir dir;
+ Printf.printf "Leaving directory `%s'\n%!" project_root
+let _ = exit i