ocamllex

(ocamllex <names>) is essentially a shorthand for:

(rule
 (target <name>.ml)
 (deps   <name>.mll)
 (action (chdir %{workspace_root}
          (run %{bin:ocamllex} -q -o %{target} %{deps}))))

To use a different rule mode, use the long form:

(ocamllex
 (modules <names>)
 (mode    <mode>))