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