let byte () =
List.iter (lablgl_mls @ togl_mls @ glut_mls) ~f:
begin fun file ->
if Sys.file_exists (file ^ ".mli") then exe !ocamlc ["-c"; file^".mli"];
exe !ocamlc ["-c"; file^".ml"]
end;
List.iter ["lablgl", lablgl_mls, gl_libs;
"togl", togl_mls, tk_libs;
"lablglut", glut_mls, glut_libs]
~f:begin fun (lib, mls,libs) ->
let cmos = List.map mls ~f:(fun nm -> nm ^".cmo") in
exe !ocamlc (["-a -o"; lib^".cma"; "-cclib -l"^lib; "-dllib -l"^lib;
"-cclib \""^libs^"\""] @ cmos);
List.iter cmos ~f:may_remove
end