def METHOD_NAME(env, buildlog):
    lbuild_plain = lbuild.format.PLAIN
    lbuild.format.PLAIN = True
    # FIXME: Get me a proper API for this
    omodules = list(env._env.modules._node.root.all_modules())
    omodules.sort(key=lambda m: m.fullname)
    modules = []
    links = {}
    env.log.debug("Parsing module documentation...")
    for m in omodules:
        title, descr = split_description(m._description)
        mprops = {"name": m.fullname,
                  "title": title,
                  "description": descr,
                  "pref": ref_name(m.parent.fullname),
                  "ref": ref_name(m.fullname),
                  "options": []}
        for o in m.options:
            title, descr = split_description(o._description)
            value = lbuild.format.format_option_value_description(o, single_line=False)
            mprops["options"].append({
                "name": o.fullname,
                "title": title,
                "description": descr,
                "value": value
            })
            links["`{}`".format(o.fullname)] = _link(m.fullname, o.fullname)
        modules.append(mprops)
        links["`{}`".format(m.fullname)] = _link(m.fullname)
    env.log.debug("Generating doxygen group documentation...")
    env.outbasepath = "modm/docs/dox"
    for m in modules:
        env.substitutions = {"module": m}
        env.template("group.dox.in", "{}.dox".format(url_name(m["name"])),
                     filters={"doxify": lambda c: doxify(links, c)})