Ocamlbuild seems to not include dependent modules when building a library, when that library is defined by an mlpack file. However, it works fine if I manually pack, i.e. define an ml file instead of an mlpack file. Here's a summary:

--- mylib.mlpack ---
A
B

$ ocamlbuild mylib.cma
$ cat _build/_log  #just showing relevant line
ocamlfind ocamlc -a -linkpkg mylib.cmo -o mylib.cma

I was expecting a.cmo and b.cmo to get included in the library but they are not.
Now if a replace the mylib.mlpack with mylib.ml as follows, I get what I want.

--- mylib.ml ---
module A = A
module B = B

$ ocamlbuild mylib.cma
$ cat _build/_log  #just showing relevant line
ocamlfind ocamlc -a -linkpkg a.cmo b.cmo mylib.cmo -o mylib.cma 

How can I get the latter behavior with mlpack? Thank you.