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