def METHOD_NAME(self):
    """
    Custom install procedure for OCaml.
    First install OCaml using 'make install', then install OPAM (if sources are provided).
    """
    super(EB_OCaml, self).METHOD_NAME()
    fake_mod_data = self.load_fake_module(purge=True)
    try:
        all_dirs = os.listdir(self.builddir)
    except OSError as err:
        raise EasyBuildError("Failed to check contents of %s: %s", self.builddir, err)
    opam_dirs = [d for d in all_dirs if d.startswith('opam')]
    if len(opam_dirs) == 1:
        opam_dir = os.path.join(self.builddir, opam_dirs[0])
        self.log.info("Found unpacked OPAM sources at %s, so installing it.", opam_dir)
        self.with_opam = True
        change_dir(opam_dir)
        run_cmd("./configure --prefix=%s" % self.installdir)
        run_cmd("make lib-ext")  # locally build/install required dependencies
        run_cmd("make")
        run_cmd("make install")
        opam_init_cmd = mk_opam_init_cmd(root=os.path.join(self.installdir, OPAM_SUBDIR))
        run_cmd(opam_init_cmd)
    else:
        self.log.warning("OPAM sources not found in %s: %s", self.builddir, all_dirs)
    self.clean_up_fake_module(fake_mod_data)