This is somewhat of a crosspost, so I suppose I'll go ahead and link this, but I'm having trouble figuring out how to get make to produce the right command when I'm using ocamlmakefile

http://stackoverflow.com/questions/27156419/how-to-use-ocamlmakefile-to-generate-a-library-consumed-by-subproject

basically, I want to define a subproject using make's "define", and I want that to be compiled as a library, a byte code library if the target is bc and a native code library if the target is nc.

With ocamlmakefile, if you want to make a subproject you use a define, as in the link; all I want to do is change the target:

make nc => make ncl
make bc => make bcl

*just* within the confines of the subproject. Meaning, some subprojects should be compiled as libraries, others just as normal binaries in the makefile, in order that it doesn't have to be attempted multiple times. How do I achieve that with subprojects?