class_docstr: Builds target formats from the reST sources.
class_docstr_tok: ["Builds","target","formats","from","the","reST","sources","."]
docstr: Only rebuild as much as needed for changes in the *filenames*.
code: def build_specific(self, filenames: list[str]) -> None:
      """Only rebuild as much as needed for changes in the *filenames*."""
      docnames: list[str] = []
  
      for filename in filenames:
          filename = path.normpath(path.abspath(filename))
  
          if not path.isfile(filename):
              logger.warning(
                  __("file %r given on command line does not exist, "),
                  filename,
              )
              continue
  
          if not filename.startswith(str(self.srcdir)):
              logger.warning(
                  __(
                      "file %r given on command line is not under the "
                      "source directory, ignoring"
                  ),
                  filename,
              )
              continue
  
          docname = self.env.path2doc(filename)
          if not docname:
              logger.warning(
                  __(
                      "file %r given on command line is not a valid "
                      "document, ignoring"
                  ),
                  filename,
              )
              continue
  
          docnames.append(docname)
  
      self.compile_specific_catalogs(filenames)
  
      self.build(
          docnames,
          method="specific",
          summary=__("%d source files given on command line")
          % len(docnames),
      )
  
imports: from __future__ import annotations
  import codecs
  import pickle
  import time
  from os import path
  from typing import TYPE_CHECKING, Any
  from docutils import nodes
  from docutils.utils import DependencyList
  from sphinx.environment import CONFIG_CHANGED_REASON, CONFIG_OK, BuildEnvironment
  from sphinx.environment.adapters.asset import ImageAdapter
  from sphinx.errors import SphinxError
  from sphinx.locale import __
  from sphinx.util import UnicodeDecodeErrorHandler, get_filetype, import_object, logging, rst
  from sphinx.util.build_phase import BuildPhase
  from sphinx.util.console import bold
  from sphinx.util.display import progress_message, status_iterator
  from sphinx.util.docutils import sphinx_domains
  from sphinx.util.i18n import CatalogInfo, CatalogRepository, docname_to_domain
  from sphinx.util.osutil import SEP, ensuredir, relative_uri, relpath
  from sphinx.util.parallel import ParallelTasks, SerialTasks, make_chunks, parallel_available
  from sphinx import directives
  from sphinx import roles
label_desc: Use image node_id 16 for calling the Builder obj's underlying member method code with example usage: obj.build_specific(filenames) without return types