diff options
Diffstat (limited to 'ocaml-binary-annot/ocamlbuild/FAQ')
| -rw-r--r-- | ocaml-binary-annot/ocamlbuild/FAQ | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ocaml-binary-annot/ocamlbuild/FAQ b/ocaml-binary-annot/ocamlbuild/FAQ new file mode 100644 index 0000000000..b71516b9e3 --- /dev/null +++ b/ocaml-binary-annot/ocamlbuild/FAQ @@ -0,0 +1,35 @@ +Q: I've a directory with examples and I want build all of them easily? + +R: + + You can use an .itarget file listing all products that you want. + + $ cat examples.itarget + examples/a.byte + examples/b.byte + + $ ocamlbuild examples.otarget + + You can also have a dynamic rule that read the examples directory: + + $ cat myocamlbuild.ml + open Ocamlbuild_plugin;; + + dispatch begin function + | After_rules -> + let examples = + Array.fold_right begin fun f acc -> + if Pathname.get_extension f = "ml" then + ("examples" / Pathname.update_extension "byte" f) :: acc + else + acc + end (Pathname.readdir "examples") [] + in + rule "All examples" + ~prod:"examples.otarget" + ~deps:examples + (fun _ _ -> Command.Nop) + | _ -> () + end + + $ ocamlbuild examples.otarget |
